Создать цикл для построения гистограмм для отдельных столбцов DataFrame с помощью Seaborn - PullRequest
0 голосов
/ 09 июня 2018

Поэтому я пытаюсь построить гистограммы для всех моих непрерывных переменных в моем DatFrame, используя цикл for. Мне уже удалось сделать это для моих категориальных переменных, используя countplot со следующим кодом:

df1 = df.select_dtypes([np.object])

for i, col in enumerate(df1.columns):
    plt.figure(i)
    sns.countplot(x=col, data=df1)

Что я нашел здесь, выполнив поиск SO.

Однако теперь я хочу сделать то же самое с distplot, поэтому я попытался изменить приведенный выше код так:

df1 = dftest.select_dtypes([np.int, np.float])

for i, col in enumerate(df1.columns):
    plt.figure(i)
    sns.distplot(df1)

Но он просто дал мне один пустойсюжет.Любые идеи о том, что я могу сделать?

редактировать: например, DataFrame:

dftest = pd.DataFrame(np.random.randint(low=0, high=10, size=(5, 5)),
                    columns=['a', 'b', 'c', 'd', 'e']) 

Ответы [ 2 ]

0 голосов
/ 26 июня 2019

Определить функцию для построения гистограмм

def histograms_plot (фрейм данных, элементы, строки, столбцы):

fig=plt.figure(figsize=(20,20))
for i, feature in enumerate(features):
    ax=fig.add_subplot(rows,cols,i+1)
    dataframe[feature].hist(bins=20,ax=ax,facecolor='green')
    ax.set_title(feature+" Distribution",color='red')

fig.tight_layout()  
plt.show()

histograms_plot (df, df.columns, 6,3)

0 голосов
/ 09 июня 2018

Похоже, вы хотите получить одну цифру с distplot на столбец кадра данных.Следовательно, вам необходимо указать данные, которые используются для каждого конкретного рисунка.

Как указано в документации по морскому для distplot(a, ...)

a: серия,1d-массив или список.Наблюдаемые данные.

Так что в этом случае:

for i, col in enumerate(df1.columns):
    plt.figure(i)
    sns.distplot(df1[col])
...