Цикл Groupby на рисунок, а затем подгруппа по Groupby

1

Привет, я хочу подстроить группу dataframe. Но до этого я также хочу зациклиться от основной группы. Возьмите это, например:

Year State      Person    Value
2011 California A         12879
2011 California B         10572
2011 California C         8645
2011 California D         9573
2011 Florida    A         8645
2011 Florida    B         9573
2009 California A         8764
2009 California B         9864
2009 California C         9573
2009 California D         12879
2009 Florida    A         9573
2009 Florida    B         10572

Я хочу, чтобы все groupby группы были после этого, я хочу иметь подзаголовок каждого значения Person vs. Year. Таким образом, 1 figure на государство, а затем подзаголовок в зависимости от количества Лица.

Здесь формат csv:

Year,State,Person,Value
2011,California,A,12879
2011,California,B,10572
2011,California,C,8645
2011,California,D,9573
2011,Florida,A,8645
2011,Florida,B,9573
2009,California,A,8764
2009,California,B,9864
2009,California,C,9573
2009,California,D,12879
2009,Florida,A,9573
2009,Florida,B,10572
  • 1
    Спасибо за предоставление набора данных, но вы забыли показать, что вы уже пробовали или какое исследование вы провели.
  • 0
    Извините за это, это было грубо с моей стороны. Я могу сделать только групповой, а затем построить. Но я не хочу мешать более быстрым решениям. Благодарю.
Теги:
pandas
matplotlib

1 ответ

2
Лучший ответ
byState=df.groupby('State')
for name, df in byState:
    byPerson = df.groupby('Person')
    fig, axs = plt.subplots(figsize=(len(byPerson)*2,4), nrows=1, ncols=len(byPerson))
    fig.suptitle(name)
    subplot_targets = zip(byPerson.groups.keys(), axs.flatten())
    for key, ax in subplot_targets:
        ax.plot(byPerson.get_group(key).index, byPerson.get_group(key).Value)
        ax.set_title(key)

Изображение 174551

Ещё вопросы

Сообщество Overcoder
Наверх
Меню