df['amount'].describe()
Результат:
count 6.00 mean 1058.33 std 666.83 min 300.00 25% 637.50 50% 1000.00 75% 1425.00 max 2100.00
df['channel'].describe()
Результат:
count 6 unique 3 top ads freq 3 Name: channel, dtype: object
df.describe(include='all')
Результат:
user_id channel amount count 6.0 6 6.00 unique NaN 3 NaN top NaN ads NaN mean 543.0 NaN 1058.33Порешать Python-задачи в тренажёре →
Первое, что делают на EDA и о чём спрашивают в задачах «опиши датасет». Идёт в паре с .info(), .value_counts() и groupby().describe() для разреза статистики по сегментам.
По умолчанию он берёт только числовые типы. Передай include='all', чтобы увидеть все колонки, или include=['object'] — только строковые/категориальные. Для них выводятся count, unique, top и freq вместо среднего и квартилей.
Передай их в percentiles списком долей: df.describe(percentiles=[0.9, 0.99]). Медиана (50%) добавляется всегда, даже если её нет в списке. Значения указываются как доли от 0 до 1, а не в процентах.
NaN исключаются из всех расчётов, а count показывает число непустых значений в колонке. Поэтому у колонок с разным числом пропусков count будет отличаться. Чтобы узнать количество NaN, используй df.isna().sum().
Pandas: основы · Pandas groupby
groupby · merge · pivot_table · apply · value_counts · drop_duplicates
Открыть Python-тренажёр (556 задач) →