我有以下数据框,我正在尝试创建堆积的条形图
import os
from pprint import pprint
import matplotlib.pyplot as plt
import pandas as pd
def classify_data():
race = ['race1','race1','race1','race1','race2','race2','race2', 'race2']
qualifier = ['last','first','first','first','last','last','first','first']
participant = ['rat','rat','cat','cat','rat','dog','dog','dog']
df = pd.DataFrame(
{'race':race,
'qualifier':qualifier,
'participant':participant
}
)
pprint(df)
df2 = df.groupby(['race','qualifier'])['race'].count().unstack('qualifier').fillna(0)
df2[['first','last']].plot(kind='bar', stacked=True)
plt.show()
classify_data()
我可以设法获得以下情节。但是,我想在数据框中创建两个图
一个包含以下数据的图块,用于限定词“ last”
Race1 rat 1
Race1 cat 0
Race1 dog 0
Race2 rat 1
Race2 dog 1
Race2 cat 0
因此,第一个条形图将有2个条形,每个条形码都用不同的颜色编码,以计算 participant
同样,预选赛“第一”的第二个情节
编辑:
Race1 rat 1
Race1 cat 2
Race1 dog 0
Race2 rat 0
Race2 dog 2
Race2 cat 0
我不确定如何使用groupby函数并获取给定“竞赛”的每个“限定词”的“参与者”计数
编辑2:对于预选赛'最后'想要的情节看起来像(蓝色为老鼠,红色为狗)。
对于资格赛“第一”
有人可以建议我从这里继续吗?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句