2016-12-12 124 views
1

我有Python中的熊猫数据框,看起来像这样:蟒蛇绘制数据帧

Jan 15 Feb 15 March 15 April 15 
1 val  val  val  val 
2 val  val  val  val 
3 val  val  val  nan 
4 val  nan  val  nan 
5 val  nan  nan  nan 

我要绘制图表如下。 X轴是月(Jan 15 | Feb 15 | March 15 | April 15),和酒吧都像这样:

Jan 15: 5 
Feb 15: 3 
March 15: 4 
April 15: 2 

^这是每个月非空值的计数。

任何关于如何绘制matplotlib或其他任何帮助的帮助?

编辑:在df中的值是这样的元组:(val1, val2)

回答

2

您需要countSeries.plot.bar

import matplotlib.pyplot as plt 
df.count().plot.bar() 
plt.show() 

解决方案与Series.plot

import matplotlib.pyplot as plt 
df.count().plot(kind='bar') 
plt.show() 

graph

+0

有没有可以制作它的标签云?例如,而不是图表,在标签云中绘制月份,最大的字体飞蛾会是数据最多的那个? – TheDaJon

+0

嗯,在熊猫这是不可能的,我不确定是否在matplotlib。我发现[这个解决方案](http://peekaboo-vision.blogspot.sk/2012/11/a-wordcloud-in-python.html),试试吧。 – jezrael

2

这将返回一系列与您要绘制的数据:

df.count() 

这将绘制它:

df.count().plot.bar(); # the semicolon will suppress output in Jupyter 

编辑:使它的柱状图。

+0

如何绘制图表?它打印:'' – TheDaJon

+0

我假设你在Jupyter。您必须通过运行'%matplotlib inline'来启用内嵌图表一次。 – IanS

+1

'import matplotlib.pyplot as plt'。然后在df.count()。plot()之后,添加'plt.show()'。如果你使用jupyter笔记本,你也可以使用魔术'%matplotlib inline'。 @IanS:在你的图表中加入'kind ='bar'' –