Повторение столбцов фрейма данных для построения гистограммы

#python #pandas #types #data-visualization #histogram

Вопрос:

 %matplotlib inline
for column in df.columns:
if df[column].dtype =="int64":
    df[column].hist(title=column)
else:
    df[column].plot(kind="bar", title=column)

AttributeError: 'Rectangle' object has no property 'title'
 

Я хотел бы распечатать гистограмму, является ли тип dtype int, и гистограмму, является ли тип dtype объектом, но код не работает.

Комментарии:

1. «Не работает» — это очень широкое утверждение. С какой конкретной проблемой вы столкнулись? Советы: title этот аргумент доступен только в более новых версиях pandas. Проверьте свою версию

2. Не работает означает, что возвращает ошибку атрибута: объект «Прямоугольник» не имеет свойства «заголовок», а не участки

3. Я попытался удалить заголовок, а затем возникла новая ошибка :ошибка ввода: нет числовых данных для построения

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

5. @AlessandroMondin я только что отредактировал свой ответ, чтобы учесть тип объекта, используя график подсчета морских косточек, проверьте это

Ответ №1:

Попробуйте срезать свои столбцы в начале, и вам понадобятся подзаголовки/подзаголовки для построения нескольких графиков

 import seaborn as sns

numeric_columns = df.select_dtypes(include=['int64','float64']).columns
n_rows = 2
n_cols= 2

for i, column in enumerate(df.columns,1):
    plt.subplot(n_rows,n_cols,i)
    if column in numeric_columns:
        df[column].plot(kind="hist", title=column)
    else:
        sns.countplot(df[column])
 

И, как уже упоминалось в коде, вы хотите получить аргумент заголовка, если вы используете более старую версию pandas