在 pandas 中使用 groupby 命令后使用 seaborn 进行绘图

Posted

技术标签:

【中文标题】在 pandas 中使用 groupby 命令后使用 seaborn 进行绘图【英文标题】:Plot with seaborn after groupby command in pandas 【发布时间】:2018-10-06 08:21:18 【问题描述】:

我已经使用 pandas 对列表进行了分组,我正在尝试使用 seaborn 绘制以下表格:

     B  
A           
bar  3  
foo  5  

代码sns.countplot(x='A', data=df) 无效(ValueError: Could not interpret input 'A')

我可以只使用df.plot(kind='bar'),但我想知道是否可以使用 seaborn 进行绘图。

【问题讨论】:

【参考方案1】:

在这种情况下,我认为您可能缺少重置索引,因此您可以使用该索引。

 sns.countplot(x='A', data=df.reset_index())

还要检查用于分组的色调参数,这可能会使您的 groupby 不必要

import seaborn as sns
df = pd.DataFrame( [['A', 'B', 'A'], [1,1,1], [4,5,4]], index=['g', 'x', 'y']).T
sns.countplot(data=df, x='y', hue='g')

【讨论】:

谢谢@Darren Brien。 .reset_index() 没有按我的意愿绘制,但你的例子解决了我的问题 我试过了,但我没有足够的声誉来做到这一点。【参考方案2】:

试试:

sns.countplot(x='A', data=df.reset_index())

似乎 A 列是一个索引。

【讨论】:

以上是关于在 pandas 中使用 groupby 命令后使用 seaborn 进行绘图的主要内容,如果未能解决你的问题,请参考以下文章

在 Pandas 中使用 Keras StandardScaler 和 Groupby 函数

将列的名称保留在 groupby 中,并在 pandas 数据框中使用 sum

在 Pandas 中使用 groupby 函数时如何解决“keyerror”?

pandas 如何使用 groupby 在标签中按日期对列进行分组?

使用 Groupby 的 Pandas 滚动函数

使用 pandas 的 groupby 和 shift