Python 熊猫:如何用多个索引绘制一个图,其中只有一个索引值
当上面的代码运行时,下面是图形的外观 在x轴上可以看到四分之一,y轴上只能看到一家公司(蓝色或绿色)的情况下,如何绘制图表Python 熊猫:如何用多个索引绘制一个图,其中只有一个索引值,python,pandas,matplotlib,Python,Pandas,Matplotlib,当上面的代码运行时,下面是图形的外观 在x轴上可以看到四分之一,y轴上只能看到一家公司(蓝色或绿色)的情况下,如何绘制图表 我对熊猫很陌生,我不能让它工作。请帮我理解。谢谢当您调用取消堆栈时,您有以下数据帧: import pandas as pd data = pd.DataFrame([ ('Q1','Blue',100), ('Q1','Green',300), ('Q2','Blue',200), ('Q2','Gree
我对熊猫很陌生,我不能让它工作。请帮我理解。谢谢当您调用
取消堆栈
时,您有以下数据帧:
import pandas as pd
data = pd.DataFrame([
('Q1','Blue',100),
('Q1','Green',300),
('Q2','Blue',200),
('Q2','Green',350),
('Q3','Blue',300),
('Q3','Green',400),
('Q4','Blue',400),
('Q4','Green',450),
],
columns=['quarter', 'company', 'value']
)
data = data.set_index(['quarter', 'company']).value
data.unstack().plot(kind='bar', stacked=True)
因此,如果您只想为companyBlue
绘图,您可以像选择任何其他列一样选择它
data.unstack()['Blue'].plot(kind='bar')
创建此图形:
当您在设置索引后取消对数据的堆叠时,它将纯粹转换为分类值
您可以直接删除要绘制的类别是的,使用多级索引很难做到这一点 如果可能的话,一个解决方案是构建稍微不同的数据帧
data.unstack()['Green'].plot(kind='bar',legend=True)
data.unstack()['Blue'].plot(kind='bar',legend=True)
或者,如果需要保持结构不变,则可以使用pandas函数重塑数据帧
import pandas as pd
data = pd.DataFrame([
(100, 300),
(200, 350),
(300, 400),
(400, 450)
],
index = ['Q1','Q2','Q3','Q4'],
columns=['Blue', 'Green']
)
# Both Blue and Green Grouped bar
data.plot.bar()
# Just Blue
data.plot.bar(x='Blue')
#Just Green
data.plot.bar(x='Green')
import pandas as pd
data = pd.DataFrame([
(100, 300),
(200, 350),
(300, 400),
(400, 450)
],
index = ['Q1','Q2','Q3','Q4'],
columns=['Blue', 'Green']
)
# Both Blue and Green Grouped bar
data.plot.bar()
# Just Blue
data.plot.bar(x='Blue')
#Just Green
data.plot.bar(x='Green')
import pandas as pd
data = pd.DataFrame([
('Q1','Blue',100),
('Q1','Green',300),
('Q2','Blue',200),
('Q2','Green',350),
('Q3','Blue',300),
('Q3','Green',400),
('Q4','Blue',400),
('Q4','Green',450),
],
columns=['quarter', 'company', 'value']
)
data = data.pivot(index='quarter', columns='company', values='value')
data.plot.bar()
# Just Blue
data.plot.bar(x='Blue')
#Just Green
data.plot.bar(x='Green')