2013-12-16 212 views
4

我有一个数据框是由一个日期时间列索引,我得到value_count()各种时间范围。例如,大熊猫 - 绘图系列

data['leadsource_ch_disp_name'].ix[rng[0]].value_counts() 

返回

Unknown  223 
Sponsorship 889 
Reseller  145 
Referral  52 
dtype: int64 

这是一系列。我想用5个不同的时间范围(rng[i],i = [0,..,4])做到这一点。那么我剩下5个系列了。我想要做的是绘制这5个系列(在同一个图上),这样x轴是系列名称,y轴是这些值。我希望它是一个4行的线图(对于未知的,赞助商,经销商和推荐人)。

我曾尝试以下

rng0=data['leadsource_ch_disp_name'].ix[rng[0]].value_counts() 
rng1=data['leadsource_ch_disp_name'].ix[rng[1]].value_counts() 
rng2=data['leadsource_ch_disp_name'].ix[rng[2]].value_counts() 
rng3=data['leadsource_ch_disp_name'].ix[rng[3]].value_counts() 
rng4=data['leadsource_ch_disp_name'].ix[rng[4]].value_counts() 
rng5=data['leadsource_ch_disp_name'].ix[rng[5]].value_counts() 
pd.concat([rng0,rng1,rng2,rng3,rng4,rng5],axis=1).plot() 

然而,这并不能返回我想要的。这创建了一个情节,其中X轴是介绍人,经销商,赞助人,未知人以及5个不同系列的5行。

回答

3

由于plot()绘制一条线对于每一列,首先尝试转置该帧..

pd.concat([rng0,rng1,rng2,rng3,rng4,rng5],axis=1).T.plot() 
+1

哇。我认为这会比这更复杂:)谢谢! – user1893354