python - Pandas - 绘图系列

标签 python pandas

我有一个由日期时间列索引的数据框,我得到了不同时间范围的 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/

相关文章:

python - 按字符串长度对数据帧进行排序

python - 根据来自多个行索引的多个列的值的聚合创建一个列

python - 如何仅使用 scikit-learn 消除停用词?

python - 如何在 Python 的二维数组中查找值的索引?

python - 如何将 txt 文件中的数据放入网格中?

python - ImportError:无法导入模块

php - 列表理解(python)和数组理解(php)?

python - 模拟 ec2.describe_regions() (AWS) 的代理

python - 如何根据条件从另一个数据帧更新数据帧值

python - 使用 pandas groupby 功能查找盈利投资的百分比