Построение колонны панда в третьем измерении - PullRequest
0 голосов
/ 27 апреля 2018

У меня есть 3 отдельных кадра данных одной формы со следующими данными.

# for 2015
Grave Crimes    Cases Recorded  Mistake of Law fact
Abduction       725             3
Kidnapping      246             6
Arson           466             1
Mischief        436             1
House Breaking  12707           21
Grievous Hurt   1299            3

# for 2016
Grave Crimes    Cases Recorded  Mistake of Law fact
Abduction       738             4
Kidnapping      297             9
Arson           486             4
Mischief        394             1
House Breaking  10287           14
Grievous Hurt   1205            0

# for 2017
Grave Crimes    Cases Recorded  Mistake of Law fact
Abduction       647             2
Kidnapping      251             10
Arson           418             3
Mischief        424             0
House Breaking  8913            12
Grievous Hurt   1075            1

Я хочу построить каждый столбец (например, «Зарегистрированные случаи») относительно группы типов «Серьезные преступления» по годам. Моя текущая панель выглядит следующим образом. Я не установил никаких индексов при создании панели. Кроме того, в каждом фрейме данных нет столбца с указанием года, как показано выше.

pnl = pd.Panel({2015: df15, 2016: df16, 2017: df17})

Мой ожидаемый результат показан ниже. Может ли кто-нибудь помочь мне в этом?

enter image description here

1 Ответ

0 голосов
/ 27 апреля 2018

Панели устарели в Pandas с 0.20.1 +

Мы можем использовать pd.concat с ключами, чтобы объединить эти кадры данных в один кадр данных, а затем использовать изменение формы и график pandas.

l = ['df2015','df2016','df2017']
df_out = pd.concat([eval(i) for i in l], keys=l)\
           .set_index('Grave Crimes',append=True)['Cases Recorded'].unstack(0)\
           .rename(columns=lambda x: x[2:]).reset_index(0, drop=True)

df_out.plot.bar()

Выход:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...