我有一个由日期时间列索引的数据框,我得到了不同时间范围的 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]
for 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 条线。
最佳答案
由于 plot()
为每一列绘制一条线,因此请先尝试转置框架..
pd.concat([rng0,rng1,rng2,rng3,rng4,rng5],axis=1).T.plot()
关于python - Pandas - 绘图系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20618129/