Время прочтения: 2 мин.
Для визуализации pandas датафреймов удобно использовать библиотеку matplotlib. Pandas позволяет быстро и эффективно работать с данными. С matplotlib легко отобразить таблицы в виде графиков.
Покажу, какими методами визуализации я пользовалась при участии в соревновании Kaggle. Набор данных представлял из себя онлайн-объявления, с целевой меткой «deal_probability» (вероятность сделки).
С помощью функции pandas.plotting.scatter_matrix() построена матрица рассеивания для числовых столбцов (цена, спрос, порядковый номер объявления у пользователя) и получен график:
Матрица рассеивания состоит из диаграмм, которые отображают отношение между двумя переменными в виде точек в двух измерениях, по одной оси для каждого атрибута. На диагонали показаны гистограммы каждого атрибута.
Из графика можно сделать следующие выводы:
- есть много дешевых предметов;
- вероятность сделки уменьшается, если пользователи публикуют больше объявлений;
- предметы с низкой ценой имеют более высокую вероятность сделки;
- существует небольшая корреляция между более низкой ценой и количеством товаров, которые публикует пользователь
Чтобы рассмотреть, как распределены объявления по категориям и как колеблется среднее целевой переменой, применены функции groupby() и agg().
import pandas as pd
import matplotlib.pyplot as plt
column_name = 'user_type'
df = pd.read_csv('data.csv')[[column_name, 'deal_probability']]
df['group_count'] = ""
groupDf = df.groupby([column_name]).agg({'deal_probability': 'mean', 'group_count': 'count'}).reset_index()
ax = groupDf.plot.bar(column_name, 'group_count', legend=False)
groupDf['deal_probability'].plot(secondary_y=True, ax=ax)
for tick in ax.get_xticklabels():
tick.set_rotation(90)
plt.show()
Из рисунков видно, что больше всего объявлений по категории «Личные вещи, а самый встречающийся тип пользователя «Private».
Больше методов визуализации pandas на сайте.