У меня есть следующий фрейм данных, и я пытаюсь создать столбчатую диаграмму импорта импорта из pprint import pprint import matplotlib.pyplot как plt import pandas как 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
Аналогично, второй график для квалификатора 'first'
РЕДАКТИРОВАТЬ:
Race1 rat 1
Race1 cat 2
Race1 dog 0
Race2 rat 0
Race2 dog 2
Race2 cat 0
Из исходного кадра данных,Мне нужно создать два вышеупомянутых кадра данных для создания составных графиков
Я не уверен, как использовать функцию groupby и получить количество «участника» для каждого квалификатора.для данной «расы»
РЕДАКТИРОВАТЬ 2: Для квалификатора «последний» желаемый сюжет будет выглядеть (синий для крысы, красный для собаки).
Для квалификации 'first'
Может кто-нибудь подсказать мне, как поступить отсюда?