Abh*_*bey 1 python plot matplotlib dataframe pandas
我有一个像这样的熊猫数据框:
yearPassed policyType count
0 1990 1 2000
1 1990 2 1400
2 1990 3 1200
3 1991 3 70
4 1992 2 1000
5 1992 3 800
Run Code Online (Sandbox Code Playgroud)
我想制作一个条形图,按policyType列进行颜色编码,并在X轴上显示Year,并在Y轴上显示.
我试过这样做:
policy_vs_year.plot(x="yearPassed", y=["count", "policyType"], kind="bar")
plt.show()
Run Code Online (Sandbox Code Playgroud)
但这给了一个非常糟糕的情节.
所以我决定将我的数据帧转换成这样的东西(也许这样绘制更容易):
yearPassed 1 2 3
0 1990 2000 1400 1200
1 1991 0 0 70
2 1992 0 1000 800
Run Code Online (Sandbox Code Playgroud)
我的问题是,大熊猫的基本功能是否有可能实现这一目标?(或者有更简单的替代方法以原始格式绘制数据帧 - 无需重新格式化?)
这很容易使用df.pivot_table:
df = df.pivot_table(index=['yearPassed'],
columns=['policyType'], values='count').fillna(0)
df
policyType 1 2 3
yearPassed
1990 2000.0 1400.0 1200.0
1991 0.0 0.0 70.0
1992 0.0 1000.0 800.0
Run Code Online (Sandbox Code Playgroud)
此外,可以使用df.plot以下方式绘制堆积条形图:
import matplotlib.pyplot as plt
df.plot(kind='bar', stacked=True)
plt.show()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1917 次 |
| 最近记录: |