2024-04-28 12:53:22 发布
网友
在对DataFrame执行groupby.sum()之后,我在尝试创建预期的绘图时遇到了一些问题。
DataFrame
groupby.sum()
如何为每个Code创建一个子块(kind='bar'),其中x轴是Month,条是ColA和ColB?
Code
kind='bar'
Month
ColA
ColB
使用以下数据帧。。。
# using pandas version 0.14.1 from pandas import DataFrame import pandas as pd import matplotlib.pyplot as plt data = {'ColB': {('A', 4): 3.0, ('C', 2): 0.0, ('B', 4): 51.0, ('B', 1): 0.0, ('C', 3): 0.0, ('B', 2): 7.0, ('Code', 'Month'): '', ('A', 3): 5.0, ('C', 1): 0.0, ('C', 4): 0.0, ('B', 3): 12.0}, 'ColA': {('A', 4): 66.0, ('C', 2): 5.0, ('B', 4): 125.0, ('B', 1): 5.0, ('C', 3): 41.0, ('B', 2): 52.0, ('Code', 'Month'): '', ('A', 3): 22.0, ('C', 1): 14.0, ('C', 4): 51.0, ('B', 3): 122.0}} df = DataFrame(data)
。。。可以绘制以下图形(使用横截面):
f, a = plt.subplots(3,1) df.xs('A').plot(kind='bar',ax=a[0]) df.xs('B').plot(kind='bar',ax=a[1]) df.xs('C').plot(kind='bar',ax=a[2])
一个给A,一个给B,一个给C,x轴:'月',酒吧是可乐和可乐。 也许这就是你要找的。
我发现unstack(level)方法工作得很好,它还有一个额外的好处,就是不需要知道有多少代码。
df.unstack(level=0).plot(kind='bar', subplots=True)
使用以下数据帧。。。
。。。可以绘制以下图形(使用横截面):
一个给A,一个给B,一个给C,x轴:'月',酒吧是可乐和可乐。 也许这就是你要找的。
我发现unstack(level)方法工作得很好,它还有一个额外的好处,就是不需要知道有多少代码。
相关问题 更多 >
编程相关推荐