如何可视化Seaborn的分组和聚合熊猫数据框?

时间:2020-01-29 21:22:46

标签: python pandas group-by seaborn aggregation

令我惊讶的是我不得不问这个问题。我希望解决方案很简单。

情况:

我有一些pandas.DataFrame df。我对它进行分组和聚合,就像这样:

df.groupby(
    ['colA','colB']
).agg(
    {
    'colC': "count"
    }
) 

因此,我们将colAcolB分组,然后对colC进行汇总(计算这种情况下的出现次数)。

结果如下所示(第一个表格):

+------------+------------+------------+
| colA       | colB       | colC       |
+============+============+============+
| 1          | A          | 42         |
+------------+------------+------------+
|            | B          | 43         |
+------------+------------+------------+
|            |            | 44         |
+------------+------------+------------+

我现在想用seaborn可视化这张桌子。从逻辑上讲,这应该可行,因为第一个表代表的是

+------------+------------+------------+
| colA       | colB       | colC       |
+============+============+============+
| 1          | A          | 42         |
+------------+------------+------------+
| 1          | B          | 43         |
+------------+------------+------------+
| 1          | B          | 44         |
+------------+------------+------------+

,可以很容易地表示出来(第二张表)。我的可视化代码如下:

g = sns.catplot(x="colA", y="colC", hue="colC") # some more params

我得到的错误是Could not interpret input 'colA'。我认为是因为colAcolB被视为键,因为我在groupby子句中使用了它们。我猜想我将不得不以某种方式将数据帧表(第一个表)转换为“正常”数据帧(第二个表)。这个对吗?如果是这样,我该怎么做?

0 个答案:

没有答案