Pandas .DataFrame.hist () показывает только непрерывные / числовые данные - PullRequest
1 голос
/ 18 марта 2020

У меня есть кадр данных, который выглядит следующим образом:

             Pclass     Sex   Age  SibSp  Parch     Fare Embarked  FamilySize  \
PassengerId                                                                     
1                 3    male  22.0      1      0   7.2500        S           2   
2                 1  female  38.0      1      0  71.2833        C           2   
3                 3  female  26.0      0      0   7.9250        S           1   
4                 1  female  35.0      1      0  53.1000        S           2   
5                 3    male  35.0      0      0   8.0500        S           1   

             Alone Title      LName  Survived  
PassengerId                                    
1                0    Mr     Braund       0.0  
2                0   Mrs    Cumings       1.0  
3                1  Miss  Heikkinen       1.0  
4                0   Mrs   Futrelle       1.0  
5                1    Mr      Allen       0.0  

Использование pandas .DataFrame.hist () обеспечивает следующую распечатку:

enter image description here

Этот вывод отображает только числовые данные, но не категориальные данные. Документация гласит:

Эта функция вызывает matplotlib.pyplot.hist () для каждой серии в кадре данных, в результате чего получается одна гистограмма на столбец.

Я подумал, что это может означать, что matplotlib.pyplot.hist() может не работать с категориальными данными, поэтому я попытался вызвать его непосредственно для столбца, содержащего только категориальные данные:

matplotlib.pyplot.hist(df['Embarked'])

И, кроме того, я попытался вызвать .hist() напрямую нарезанный кадр данных:

df['Embarked'].hist()

Оба эти варианта дали идеальные результаты:

enter image description here

Я могу вспомнить хотя бы один обходной путь чтобы это исправить, но прежде чем я отправлюсь в громоздкое путешествие, мне чего-то не хватает?

1 Ответ

0 голосов
/ 18 марта 2020

Код сделал то, что вы сказали. Построить гистограмму на основе данных. Когда вы начали серию pandas, она также сделала то, что вы сказали. Гистограммы помогают визуализировать распределение частот на множестве непрерывных данных. Пожалуйста, просмотрите pd.df.hist . В pandas он применяется к серии, если вы хотите один сюжет. Ряды - это одномерный помеченный массив, способный хранить данные любого типа (целое число, строка, число с плавающей точкой, python объекты и т. Д. c.). Чтобы построить гистограмму для категориальных данных, вы должны сделать серию непрерывной, связав соответствующую функцию pandas. Я бы посоветовал вам ознакомиться с различиями между pd.dataframe и pd.series

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