ααα αΆαααααΌααα αααα αΆααααααΎαααααΎααΆαααΆαα½ααααα»ααα·ααααααααααΈααΊααααΌααααααΈααΆα ααΎααααΈααααΎααΌα αααα α’αααααααΌαααΆαα§ααΆα ααα ααΎααααΈααααααααα½αααααααααααααα½ααααααα’ααα ααααααααααααΆ α αΎαααααααααααα’αααΈα ααα½αααααααααααΆαααααααα
αααααΆαααααααΆαααα»ααααααΆαααααα±ααααΎαααΌαα§αααααααΆαααααααααααΆα αααΎααααααΆααα’αα»ααααααΆααα·ααΆααα·αααααααα»ααα (EDA)α ααα»αααααα»ααααα’αααααααΎαα½αααΆ ααΆααααααΆα’αααααααΌαα αΆααααααΎαααΆαα½αααΉααα»αααΆαααΌαα αααααααααααΌα ααΆ df.describe() ααΆααΎαα αααααΆαααΆαααΆααααα ααΆαα½αααααααΌαααΆαααααααααΆααααΆαααααααΆαααααααααααααα»αααΆαααααααααΆαααααα·α α αΎαααααΆααααΆαααααΌαααααΆαααααΎααΆαααΆαα½ααααα»ααα·ααααααααΆαα½ααα αααα’αα»αααα EDA ααΆααΉαααΆααααααααααΉαααααΆαα αα·ααα ααα
α’αααβαα·ααααβα―αααΆαβαααβααΎαβαααα»αβααααα»αααβααααβαααβαα·ααΆαβααΆβααΆααβαα·αβαααβααΆβα’αααβααΆααααβααΆαβαααααααΉαααβαααααβααα ααΆαααααα αααα»αααΆααααααααα§αααααααΎααααΈα’αα»ααααααΆααα·ααΆααα·αααααααα»αααααΆααααΆαααΆαααα αα αα·αααααααααααααα·αααααΆα ααΆααααΆαααααΎααααααΆααααααα
αα
ααΈαααααΎαααΉααα·αα·αααααΎααααααααα·αααααααΆαααααΎααααΆαααααααΆααα pandas-profiling αααααααΎαααα»ααα·αααααα Titanic ααΆα§ααΆα ααααα½αα
ααΆααα·ααΆααα·αααααααα»ααααααααααΎαααααΆ
αααα»αααΆααααααα α α·αααααΆαααααααΆαα½α pandas-profiling αα ααΎαααα»ααα·αααααα Titanic αααααΆααααααααααα·ααααααααααααααααΆαααααΆααΆα αα·αααααααΆαααααααααααααΆαααα αααα»αααΆα αααα»αααΏααΆαααααΆααααααααΆααααααααααΆαααα»ααααααΆααΊαα½αα±ααα αΆααα’αΆααααααααΆαα·ααααα αααα»αααααΈααααα·αααααααα·αααΆααααααΌαααΆααααα’αΆα αα·αααΆαααΆαααααΎαααΆααααααααααα’αΆαααααααΎααααααααααααΆα ααΎααααΈα’αα»ααααααααΎαααΆαααααααααααααααα α’αααααααΌαααΉαααΈαααααααααααααΌαα αΆααααααΎα αα·αα’αααΈαααααααΌαααα α·ααααα»αααΆααα αααααΊααΆααααααααααααααααΆαααΆαααααααΆαααααΆαααα»ααααααΆααΆαααααααααα
ααΆααααΌα ααΎαααΆαα αΌααα·αααααα α αΎαααααΎαααααΆ ααΎααααΈααα½αααΆααααα·αα·αα·αααααΆα
# ΠΈΠΌΠΏΠΎΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΡ
ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²
import pandas as pd
import pandas_profiling
import numpy as np
# ΠΈΠΌΠΏΠΎΡΡ Π΄Π°Π½Π½ΡΡ
df = pd.read_csv('/Users/lukas/Downloads/titanic/train.csv')
# Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ
df.describe()
αααααΆααααΈααααα·ααααα·αααααααααΌαααα α’αααααΉαααα½αααΆαα’αααΈααααααα αΆααααα»αααΌαααΆααααααα
αααα·αα·αα·αααααΆαααααα½αααΆααααααααΎα§ααααααααααΆαααααααΆα
αααααΈααΆααΆαααααααΆαααΆαααααααααα
αααΎααα
ααΈαααααααα ααααΆαα·αααΆαα’αααΈααααααααΆαααααα½αα±ααα
αΆααα’αΆαααααααααα»αααΆαααΉαα’αααΈαα·ααααααααααααα»ααα·ααααΆαααααα ααΆα§ααΆα ααα ααα»αααααααΆααα’αΆα
ααααααααΆαα
αααα»αααα»ααα·αααααα αα
αααα»ααα
ααΆαααααααααα½αα DataFrame
ααΆα α¨α©α‘ ααααα ααααα·αααΎβααααΌαβαα·αα·αααβααΎα αααβαααααΆααβααΌαβαα½αβαααβααααΌαβααΆαβααΆαααΆαβααΎααααΈβαααααβααα αβααααβααα»αα αααααααααααΆαααααΆααΆααααααα·αααΉαααα’ααααααΆααααΎααααΆαααα ααΆαααααΎααΆα‘αΎααα·αααααααααααααΆ ααΊααααΌααααααα±ααααααααααΆααααααααΆ ααααααα ααααΆααααΌαα
αααΆαα
αααΎαααΆαααΆααααα’αΆααα·ααααααα
ααΆααα·ααΆααα·αααααααα»ααααααααααΎ pandas-profiling
α₯α‘αΌααααααΌαααααΎααΌα ααααΆαααααααΎ pandas-profiling:
pandas_profiling.ProfileReport(df)
ααΆαα’αα»αααααααααΆααααΌαααΆαααΎααΉααααααΎααααΆαααΆααααα½ααααααΆαααΌα ααΆααααΆααα·ααΆααα·αααααααα»αααα ααΌαααααααα αΆαααΆαααΎααΉααααα αααα·αααααααααααΆαααααΎα ααα»ααααα’αααα’αΆα ααααΎα±ααααΆα ααα―αααΆα HTML αααα’αααα’αΆα αααα αΆααααααααΆααααΆααα§ααΆα αααα
αααααααααΌααααααΆαααΆαααααΉαααΆαααααα αα·αααααΆαααΌαα ααααααααααααααΆαααΌαααααΆαα’αααΈαα·αααααα (α ααα½αααααΆααααααα α ααα½αα’αααααα)α ααΆααααΉαααΆααααααΈααααΆαααΌαααααΉαααααα αααααΌαααααΉααααα’ααααα·ααΆαα’αααΈα’αααΈαααααααΌαααα α·ααααα»αααΆααααΆαα·αααα ααΆαααΆααααΏαααΆαααααα’αΆα αααααααΌαααααα»αα’αααΈαααααααααα’αααα’αΆα αααααααΆααα·αααααααΉαααααααααα’αΆααα·ααααααααααα’αααα
ααααααααΆαααΆααααα·αααααΆαααΌαα
ααΆααα·ααΆαα’ααααα»ααα
ααΆααααααααααααα·αααααΆαααΌαα αααααΆαααΆααα α’αααα’αΆα αααααααααααααΆαααΆαααααααααα’αααΈα’αααααΈαα½ααα αα½ααααα½ααααα αΌα αααα»αα αααααααααααααααα ααααΌαααΆαααΌα αααααα·αααααΆα’αααΈααΆαα ααα αΆαα’αααααΈαα½ααα
α’αααΈα’ααααααα’αΆαα»
ααΌα
αααα’αααα’αΆα
ααΎαααΎαααΈα§ααΆα ααααα»α ααΆαααααα½αααααα½αααααΆαααα»ααααααΆαααααα±ααααΎαααΌαααΌα
ααΆααααΆαααααααααααΆα
αααΎαααΌα
ααΆααΆααα αα·αα
ααα½αααααααααααΆαα ααααΌα
ααΆαα·ααΆαααΆααααα·αα·αα·αααααΆαααααΎαααΆαααΎααα½α
α αΎαα αααααΆααα Age
ααΊααΆα’αααααΆααα ααΆαααΎαααΎαααααΆαα
ααα
αΆαααααααΆαααα»αααααααααΆα’ααΈααααΌααααΆαα’αα»ααααΆαα±ααααΎαααααα·ααααΆαααΆααΎαααΆαααΆαα
ααα
αΆααααααααα
ααΆαααααΆαα
αα ααααα·α αΆαααΆα’ααααααααα ααααααααααααααΊαα»αααααΆααααα·α ααααα½α ααΈα’αααΈαααααΆαααααΎααααααΆααα’αααααΆαααα
α’αααΈα’αααααα
ααΆααααααΆ αααα½αα±ααααΆααααααααααααα α’αααααααΆ αα·αα’αα·ααααΆ αααααΆααααααααΆααααααααααΆαααα»ααααααΆααΆαααααΎαα
ααα½αααααΆααα αααααΆααα Sex
- α’ααααααααΈα αααααααααααΆααααΌαααΆαααααΆααααααααΆααααΈαα
ααααα·αααΎα’αααα
αΌαα
α·ααααα·αα·αααααΎαααΌαααΌα
αααα»α α’ααααααα ααααΆα
αΆααα’αΆααααααααΆααΎαααααΆααααααααΆααααααααααΆαααα»ααααααΆ ααααΆααααααααΆααααααααΆααα·αααααΆααα ααΆαααααααααα’αααΈαααα αΆααα αααααΆααααααΌααααααΆαααααΎα α αΎαααΆααα
ααΎ GitHub αα·ααα·ααΆαααα»ααααΆαααα αααααΆααααα»ααα·ααααααΆα’αααααΆααααααααααααΆαααααΎααααΆαααααα’αααααα
αα
αααα»ααααααααααααααα»α αααα»αααΆαααΎαααΌαααααααααααααααΆαααα α§ααΆα ααα αααααΊααΆα’αααΈαααααααααΆααααααΆααααααΎαααΆαα’ααααααααΎααα
ααΌα
αααααααΆααααα’αα»αααα
def describe_numeric_1d(series, **kwargs):
"""Compute summary statistics of a numerical (`TYPE_NUM`) variable (a Series).
Also create histograms (mini an full) of its distribution.
Parameters
----------
series : Series
The variable to describe.
Returns
-------
Series
The description of the variable as a Series with index being stats keys.
"""
# Format a number as a percentage. For example 0.25 will be turned to 25%.
_percentile_format = "{:.0%}"
stats = dict()
stats['type'] = base.TYPE_NUM
stats['mean'] = series.mean()
stats['std'] = series.std()
stats['variance'] = series.var()
stats['min'] = series.min()
stats['max'] = series.max()
stats['range'] = stats['max'] - stats['min']
# To avoid to compute it several times
_series_no_na = series.dropna()
for percentile in np.array([0.05, 0.25, 0.5, 0.75, 0.95]):
# The dropna() is a workaround for https://github.com/pydata/pandas/issues/13098
stats[_percentile_format.format(percentile)] = _series_no_na.quantile(percentile)
stats['iqr'] = stats['75%'] - stats['25%']
stats['kurtosis'] = series.kurt()
stats['skewness'] = series.skew()
stats['sum'] = series.sum()
stats['mad'] = series.mad()
stats['cv'] = stats['std'] / stats['mean'] if stats['mean'] else np.NaN
stats['n_zeros'] = (len(series) - np.count_nonzero(series))
stats['p_zeros'] = stats['n_zeros'] * 1.0 / len(series)
# Histograms
stats['histogram'] = histogram(series, **kwargs)
stats['mini_histogram'] = mini_histogram(series, **kwargs)
return pd.Series(stats, name=series.name)
αααααΈααΆαααααααααΌααααα αΆααααΌα
ααΆααΆαααα ααα αα·ααααα»αααααΆαααααα ααΆαα·αααΆααΆααααααΆαααααα»αααΆααααα α
ααα»α
ααΊααΆαα
αααα»αααΌαααααααααααααΆαααααΆααα»αααΆαααααααααααααααααα’αααα ααααα·αααΎααΆαααα αΆαααΆαααααΆαααααΆααα½ααααααα’αααααΆααα αα»αααΆαααΆαααΎααΉαααααΎααααααααααααΎααααα»αααΎαα αα»αααΆααααααααΎααααα·ααααα·ααΆααααααΆαααααααΆααααααΆααααααΎααΆαααΆαα½αααααα»αααααααα Series
α
αΌαα
α·ααα series.mean()
. ααααααααααΆααααΌαααΆααααααΆαα»ααααα»ααα
ααΆαα»αααα stats
. α’ααΈααααΌααααΆαβααααΌαβααΆαβαααααΎαβαααβααααΎβααααβααααα½αβααβαα»αααΆα matplotlib.pyplot.hist
. ααΆαααααααααα½αααΆααααααααααΆααΆααΆαα»αααΆαα’αΆα
ααααΎαααΆαααΆαα½ααααααααααααααααΆαααααα»ααα·ααααααα
ααΌα ααΆααααααΆαααααα αα·ααα·ααααααααααΌααΆααα·ααααΆ
αααααΆααβααΈβααααααβααβααΆαβαα·ααΆαβααβα’αααβ ααααααβααααΆαααα»αβαααααΆβ αααα»αβαααααβααααΆααααααβααΉαβαααα αΆαβαααΆααααΈαβααααΆααααααβ Pearson αα·α Spearman α
αααΆααααΈαααααΆαααααα Pearson
ααΎα αΆαααΆα α α’αααα’αΆα αα αααα»ααααααΆααααααΌααααααααα±ααααΆαααΆααααααΎααααΆαααΆααα αααααααΌα ααΆαααααααααααααα·ααααααααΎαα αααααααΆααΆαααΆααααΆααααααααΆα ααΆααααααΆαααααΎααΌα ααα α’αααα’αΆα αααααΆααααΆααΎααΆαααααΆααααααααΆααααααααααΌαααΆαα αΆαααα»αααΆααααΆαααααααΆααααΆααα·ααΆαααααα’αααα
ααΆα α»αααααα αααΆαααΆααααααα αΆαααααααααααΆαααα»ααααααΆ αα αααα»ααααααααααΌ αααα αΆαααΆα§ααΆα ααα ααααααααα·αααααααααααΆαααααΈααΆαα αΆααααααΎααααααα»ααα·ααααααα αα·ααΈααΆααααααααα’αΆα ααΆαα±ααααΆαααΆαααααΆααααα’αΎααα·αααα’ α αΆααααΆααααΈααΆαααααααααΈαααΈααααΌαα’αΆα ααααΆαα±ααααααΌααααα·ααααα»ααααα αΆααααΈαααααααααααα»ααα·ααααααααΆααααΌαα
ααααααααααΆααα·ααααααααααΌααααααα»ααα·ααααΆ
ααΆαααααα αααα»ααα·αααααΆαα±ααααα
α·ααααα»αααΆααααΎαααααα
α»αααααααααααα αααα½ααααα·α ααΆααΆααΆααααααΎααααα»αααΆαααααΎααΆααααααααΆ df.sample(5)
αααααΉαααααΎαααΎααααα
ααααα 5 ααΆαααααααααΈαααα»ααα·ααααααα
αααααα
ααΎααααΈαααααα αααααΆαααααααααα αΆααααααααααΆαααα»ααααααΆαααααα±ααα’ααααα·ααΆαααΌααααααααΆαααΆααααααααααα½αα ααα½ααααααΉαααΆααααααααααααα»αααααΈαααα’αααααααΌαααΆαααΎααααΈααα½αααΆααααα·αααα»ααααα·αααααααααΆαααΆαααα αα α¬αααααΌααααΆαααΆααααα·ααΆααααΎαααΆααααα ααααΆααααΆααα αααα»ααααααΆαα½αααααΆααα ααΆαααΆααα·αααααΆααααΆαα½ααα·αααααα ααααα·αααΌαααΈαααααααα·αααααααααΆ ααααΌαααΆαα’αα»αααα ααΌα ααΆααααα·αααααΎαααααα pandas αααααα
ααααα·αααΎα’αααα
αααα·αα·αααααΎαααΆααΎααΆααα·ααΆααα·αααααααααΎαααΆαααααΆααα’ααααΎααα
ααΌα
α’αααΈαα
αααα»αααααα
αααααααΆ Jupyter ααΌααααα‘ααααΎα
α’αααα’αΆαααΆααΈαααα‘αΆαα! ααΎα’αααα αΆααααααΎααα·ααΆααααα»ααα·ααααααααααΈαα α―ααΆ?
ααααα: www.habr.com