gpt4 book ai didi

python - 堆积条形图 - 从非数值项开始

转载 作者:太空宇宙 更新时间:2023-11-03 15:22:08 24 4
gpt4 key购买 nike

我正在尝试创建一个堆积条形图来显示卫星运载火箭如何随时间变化。我希望 x 轴是发射年份,y 轴是运载火箭上发射的卫星数量,其中条形图的每个部分都有不同的颜色,代表运载火箭。我正在努力想出一种方法来做到这一点,因为我的运载火箭专栏是非数字的。我查看了 group by function 以及 value_counts 但似乎无法让它执行我正在寻找的操作。

enter image description here

最佳答案

您必须重新组织数据才能以所需的方式使用DataFrame.plot:

import pandas as pd
import matplotlib.pylab as plt

# test data
df = pd.DataFrame({'Launch Vehicle':["Soyuz 2.1a",'Ariane 5 ECA','Falcon 9','Long March','Falcon 9', 'Atlas 3','Atlas 3'],
'Year of Launch': [2016,2014,2016,1997,2015,2004,2004]})

# make groupby by year and rocket type to get the pivot table
# fillna put zero launch if there is no start of such type during the year
df2 = df.groupby(['Year of Launch','Launch Vehicle'])['Year of Launch'].count().unstack('Launch Vehicle').fillna(0)
print(df2)

# plot the data
df2.plot(kind='bar', stacked=True, rot=1)
plt.show()

enter image description here

df2 的输出:

Launch Vehicle  Ariane 5 ECA  Atlas 3  Falcon 9  Long March  Soyuz 2.1a
Year of Launch
1997 0.0 0.0 0.0 1.0 0.0
2004 0.0 2.0 0.0 0.0 0.0
2014 1.0 0.0 0.0 0.0 0.0
2015 0.0 0.0 1.0 0.0 0.0
2016 0.0 0.0 1.0 0.0 1.0

关于python - 堆积条形图 - 从非数值项开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43442997/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com