Python 在pandas中创建一个条形图,日期在x轴上,另一列中的每个值对应一个条形图
我有以下数据帧:Python 在pandas中创建一个条形图,日期在x轴上,另一列中的每个值对应一个条形图,python,pandas,Python,Pandas,我有以下数据帧: >>> df >>> StartDate Port Count 2011-08-10 11:07:10 3128 10 2011-08-10 11:07:40 80 1 2011-08-10 11:07:40 443 1 2011-08-10 11:07:40 3128 10 2011-08-10 11:08:00 443 1 2011-08-10 11:08:00 3128
>>> df
>>> StartDate Port Count
2011-08-10 11:07:10 3128 10
2011-08-10 11:07:40 80 1
2011-08-10 11:07:40 443 1
2011-08-10 11:07:40 3128 10
2011-08-10 11:08:00 443 1
2011-08-10 11:08:00 3128 9
2011-08-10 11:08:20 80 1
我想创建一个柱状图,其中x轴上是“开始日期”周期,y轴上是计数,并且“端口”列中的每个值都有一列
我尝试将groupby()与df.plot.bar()一起使用,但它没有给出我想要的结果。我怎么做呢
好的,不是最好的画,但应该给出想法。y轴是一个计数,每个条表示“端口”列中的值。在x轴上是第一列的日期我认为您需要+来进行整形和最后一次使用:
替代解决方案包括:
你能做一个模拟画并把它连接到这里吗。以目前的形式,这个问题很难理解。我更新了一个草图。谢谢。但这并不是我想要的。对不起,我描述得不好。请检查解决方案。是的,这正是我想要的。非常感谢你!很高兴你能帮忙!祝你好运
df1 = df.set_index(['StartDate','Port'])['Count'].unstack(fill_value=0)
print (df1)
Port 80 443 3128
StartDate
2011-08-10 11:07:10 0 0 10
2011-08-10 11:07:40 1 1 10
2011-08-10 11:08:00 0 1 9
2011-08-10 11:08:20 1 0 0
df1.plot.bar()
df1 = df.pivot(index='StartDate', columns='Port', values='Count')
print (df1)
Port 80 443 3128
StartDate
2011-08-10 11:07:10 NaN NaN 10.0
2011-08-10 11:07:40 1.0 1.0 10.0
2011-08-10 11:08:00 NaN 1.0 9.0
2011-08-10 11:08:20 1.0 NaN NaN
df1.plot.bar()