Как создать подзаговор из различных фреймов данных - PullRequest
0 голосов
/ 26 сентября 2019

У меня есть список фреймов данных:

list_df = [df1, df2, df3, df4, df5, df6]

, которые определены довольно идентичными командами:

df6 = df_2016['Incident Type Description'].value_counts()[:20]

Где df1 = df_2011['Incident Type Description'].value_counts()[:20], df2 = df_2012['Incident Type Description'].value_counts()[:20] и т. Д.до df6 = df_2016['Incident Type Description'].value_counts()[:20].df_2011, df_2012...df_2016 являются именованными переменными из загруженных мной CSV-файлов.

Я хочу объединить все это, чтобы создать субплот 2x3 вместо того, чтобы отображать их по отдельности, которые я имел с помощью команды: df_2016['Incident Type Description'].value_counts()[:20].plot(kind='barh', title='Top 20 crimes in Oakland in 2016')

На данный момент я пробовал несколько подходов, которые я нашел в stackoverflow [ Как я могу отобразить отдельные Pandas DataFrames как субплоты? и страницу matplotlib, но они не работают, и я не 'не знаю почему (я новичок в python):

axes= plt.subplots(2, 3)
list_df = [df1, df2, df3, df4, df5, df6]

columns = [f'Top 20 crimes in {x}' for x in range(2011, 2017)]

list_df.plot.barh(subplots=True, layout=(2, 3), figsize=(15,7))

Пока ValueError выглядит как ValueError: Layout of 2x3 must be larger than required size 7.Есть идеи?

Ответы [ 2 ]

0 голосов
/ 26 сентября 2019

Вы можете попробовать:

fig, axes = plt.subplots(2,3)

for d, ax in zip(list_df, axes.ravel()):
    d.plot.barh(ax=ax)
0 голосов
/ 26 сентября 2019

Я не знаю, планировали ли вы использовать другой пакет.Но Seaborn довольно часто используется для быстрого и удобного отображения различных типов сюжетов.Вы можете проверить полный пакет документов: Seaborn Doc .Есть несколько хороших учебников.

Особенно FacetGrid для отображения суплотов. FacetGrid Doc

Seaborn построен поверх библиотеки matplot.

Редактировать: Возможно, вам может понадобиться добавить все ваши df, а затем подзаговорить на основе столбца, определяющеговвод df (1-6).

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