熊猫:如何用带有标签的数据框绘制条形图?

暗影棚

我有以下数据框df

             timestamp      objectId  result
0  2015-11-24 09:00:00        Stress       3
1  2015-11-24 09:00:00  Productivity       0
2  2015-11-24 09:00:00     Abilities       4
3  2015-11-24 09:00:00     Challenge       0
4  2015-11-24 10:00:00  Productivity      87
5  2015-11-24 10:00:00     Abilities      84
6  2015-11-24 10:00:00     Challenge      58
7  2015-11-24 10:00:00        Stress      25
8  2015-11-24 11:00:00  Productivity      93
9  2015-11-24 11:00:00     Abilities      93
10 2015-11-24 11:00:00     Challenge      93
11 2015-11-24 11:00:00        Stress      19
12 2015-11-24 12:00:00     Challenge      90
13 2015-11-24 12:00:00     Abilities      96
14 2015-11-24 12:00:00        Stress      94
15 2015-11-24 12:00:00  Productivity      88
16 2015-11-24 13:00:00  Productivity      12
17 2015-11-24 13:00:00     Challenge      17
18 2015-11-24 13:00:00     Abilities      89
19 2015-11-24 13:00:00        Stress      13

我想实现如下所示的条形图,图片从这里http://pandas.pydata.org/pandas-docs/stable/visualization.html拍摄其中y轴应对应于该列,y轴应对应于该列而不是a,b,c,d在列中具有标签ObjectIDresulttimestamp

我尝试了几件事,但没有任何效果。这是最接近的plot()方法,但是该方法没有通过参数进行任何自定义(例如kind='bar',不起作用)。

groups = df.groupby('objectId')
sgb = groups['result']
sgb.plot()

还有其他想法吗?

乔里斯

@NaderHisham的答案是一个非常简单的解决方案!
但是,作为参考,如果您由于某种原因不能使用seaborn,这是一个纯pandas / matplotlib解决方案:

您需要重塑数据,以便不同的objectIds成为列:

In [20]: df.set_index(['timestamp', 'objectId'])['result'].unstack()
Out[20]:
objectId   Abilities  Challenge  Productivity  Stress
timestamp
09:00:00           4          0             0       3
10:00:00          84         58            87      25
11:00:00          93         93            93      19
12:00:00          96         90            88      94
13:00:00          89         17            12      13

如果对此绘制条形图,则会得到所需的结果:

In [24]: df.set_index(['timestamp', 'objectId'])['result'].unstack().plot(kind='bar')
Out[24]: <matplotlib.axes._subplots.AxesSubplot at 0xc44a5c0>

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

带有多索引熊猫数据框的条形图

熊猫将数据框绘制为多个条形图

从熊猫数据框中绘制堆积的条形图

如何从一个数据框中绘制多个带有填充条形图的堆叠条形图

如何从熊猫数据框中绘制具有百分比分布的水平条形图?

绘制带有重复标签的条形图

带有 2 个直接标签的绘制条形图

如何使用熊猫从数据框中绘制(分组的)条形图

如何用python绘制条形图?

如何绘制熊猫中非数值数据的条形图

如何在python中使用matplotlib在python中绘制带有标签的简单条形图?

Vega-Lite-如何在每个nar中绘制带有标签的堆叠条形图?

熊猫:具有multiIndex数据框的条形图

如何从数据框中绘制条形图

如何绘制熊猫系列的条形图?

带有来自两个不同数据框的条形图的条形图

带有 Seaborn 的数据框条形图

带有数据框的 Python 条形图

带有来自数据框的条形图的 matplotlib

如何使用Amchart 4绘制带有空数据的条形图?

如何从 x 中有几列的数据框中绘制分组条形图?

如何从只有虚拟变量的数据框中绘制条形图?

条形图带有多个标签

如何在熊猫数据框中的每一列中绘制唯一值的数量作为条形图?

如何用MATLAB绘制股票图条形图?

熊猫将数据框特定的列数绘制为条形图

Python:使用给定列用x轴绘制熊猫数据框的条形图

使用matplotlib绘制堆积的条形图,保持使用python时熊猫数据框的顺序

如何用 plotly 从堆积图中绘制 100% 条形图?