Ny dingana voalohany rehefa manomboka miasa miaraka amin'ny angon-drakitra vaovao dia ny mahatakatra izany. Mba hanaovana izany, dia mila, ohatra, ny mahita ny isan'ny soatoavina eken'ny fari-piainana, ny karazany, ary koa ny mahita ny isan'ny tsy hita.
Ny tranomboky pandas dia manome fitaovana mahasoa maro ho an'ny fanatontosana ny fanadihadiana angona fikarohana (EDA). Saingy alohan'ny hampiasanao azy ireo dia mila manomboka amin'ny fiasa ankapobeny kokoa ianao toy ny df.describe(). Na izany aza, tokony ho marihina fa ny fahaiza-manao omen'ny asa toy izany dia voafetra, ary ny dingana voalohany amin'ny fiasana amin'ny angon-drakitra rehetra rehefa manao EDA dia matetika mitovy amin'ny tsirairay.
Ny mpanoratra ny fitaovana avoakantsika androany dia milaza fa tsy mpankafy ny manao fihetsika miverimberina. Vokatr'izany, tamin'ny fitadiavana fitaovana hanaovana fanadihadiana haingana sy mahomby amin'ny fikarohana angona, dia nahita ny tranomboky izy
Eto isika dia hijery ny endri-javatra amin'ny fampiasana ny tranomboky momba ny pandas amin'ny fampiasana ny angona Titanic ho ohatra.
Famakafakana angon-drakitra fikarohana mampiasa panda
Nanapa-kevitra ny hanandrana panda-profiling amin'ny angona Titanic aho noho ny karazana angon-drakitra misy azy sy ny fisian'ny soatoavina tsy hita ao. Mino aho fa ny trano famakiam-boky momba ny pandas dia mahaliana indrindra amin'ny tranga izay tsy mbola voadio ny angon-drakitra ary mitaky fanodinana bebe kokoa arakaraka ny toetrany. Mba hahombiazana amin'ny fikarakarana toy izany dia mila mahafantatra ianao hoe aiza no hanombohana ary inona no tokony hotandremana. Eto no misy ny fahaiza-manao momba ny pandas.
Voalohany, manafatra angon-drakitra izahay ary mampiasa panda mba hahazoana antontan'isa famaritana:
# ΠΈΠΌΠΏΠΎΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΡ
ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²
import pandas as pd
import pandas_profiling
import numpy as np
# ΠΈΠΌΠΏΠΎΡΡ Π΄Π°Π½Π½ΡΡ
df = pd.read_csv('/Users/lukas/Downloads/titanic/train.csv')
# Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ
df.describe()
Aorian'ny fanatanterahana ity kaody ity dia ho azonao izay aseho amin'ity sary manaraka ity.
Ny antontan'isa fanoritsoritana azo tamin'ny fampiasana fitaovana panda mahazatra
Na dia betsaka aza ny fampahalalana mahasoa eto, dia tsy ahitana izay rehetra mahaliana ny mahafantatra momba ny angona ianarana. Ohatra, mety hihevitra ny olona iray fa ao anaty frame data, ao anaty rafitra DataFrame
, misy andalana 891. Raha mila hamarinina izany, dia ilaina ny andalana hafa amin'ny kaody mba hamaritana ny haben'ny frame. Na dia tsy mitaky loharanon-karena manokana aza ireo kajy ireo, ny famerimberenana azy ireo amin'ny fotoana rehetra dia voatery handany fotoana izay mety ho tsara kokoa ho lany amin'ny fanadiovana ny angon-drakitra.
Famakafakana angon-drakitra fikarohana amin'ny fampiasana pandas-profiling
Andeha isika hanao toy izany koa amin'ny fampiasana pandas-profiling:
pandas_profiling.ProfileReport(df)
Ny fanatanterahana ny andalana kaody etsy ambony dia hamokatra tatitra miaraka amin'ny tondro famakafakana angona fikarohana. Ny kaody aseho etsy ambony dia hamoaka ny angon-drakitra hita, saingy azonao atao ny mamoaka rakitra HTML izay azonao aseho amin'ny olona iray, ohatra.
Ny ampahany voalohany amin'ny tatitra dia ahitana fizarana Overview, manome fampahalalana fototra momba ny angon-drakitra (isan'ny fandinihana, isan'ny miovaova, sns.). Ho hita ao koa ny lisitry ny fanairana, mampahafantatra ny mpandinika ny zavatra tokony hojerena manokana. Ireo fampandrenesana ireo dia afaka manome fanazavana momba ny toerana ahafahanao mampifantoka ny ezaka fanadiovana data.
Fizarana tatitra ankapobeny
Fanadihadiana Variable Exploratory
Eo ambanin'ny fizarana Overview amin'ny tatitra dia afaka mahita fampahalalana mahasoa momba ny fari-piainana tsirairay ianao. Izy ireo dia ahitana, ankoatry ny zavatra hafa, tabilao kely mamaritra ny fizarana ny fari-piainana tsirairay.
Momba ny Variable Numeric Age
Araka ny hitanao amin'ny ohatra teo aloha, ny panda-profiling dia manome tondro mahasoa maro, toy ny isan-jato sy ny isan'ny soatoavina tsy hita, ary koa ny fepetra momba ny antontan'isa izay efa hitantsika. SATRIA Age
dia fari-pitsipika isa, ny fijerena ny fizarana azy amin'ny endrika histograma dia ahafahantsika manatsoaka hevitra fa misy fizarana miolikolika miankavanana.
Rehefa mandinika fari-pahaizana sokajy iray, dia hafa kely ny vokatra vokarina amin'ireo hita ho an'ny fari-pitsipika isa.
Momba ny fari-pahaizana sokajy Sex
Izany hoe, raha tokony hitady ny salan'isa, ny kely indrindra ary ny ambony indrindra, dia nahita ny isan'ny kilasy ny tranomboky momba ny pandas. SATRIA Sex
- faribolana binary, ny sandany dia aseho amin'ny kilasy roa.
Raha tianao ny mandinika kaody toa ahy, dia mety ho liana amin'ny fomba kajy marina ny tranomboky mirakitra ny mombamomba ny pandas ireo metrika ireo. Ny fitadiavana an'io, raha jerena fa misokatra ny kaody famakiam-boky ary azo alaina ao amin'ny GitHub, dia tsy dia sarotra loatra. Satria tsy dia mpankafy loatra amin'ny fampiasana boaty mainty amin'ny tetikasako aho, dia nojereko ny kaody loharanon'ny tranomboky. Ohatra, toy izao ny fomba fiasa amin'ny fanodinana ny variable numeric, asehon'ny asa
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)
Na dia toa lehibe sy be pitsiny aza ity kaody ity, dia tena tsotra tokoa ny mahazo azy. Ny teboka dia ao amin'ny code source an'ny tranomboky dia misy fiasa izay mamaritra ny karazana varimbazaha. Raha hita fa nifanena tamina fari-pitsipika isa ny tranomboky, dia hahita ny metrika nojerentsika ny asa etsy ambony. Ity fampiasa ity dia mampiasa asa panda mahazatra amin'ny fiasana amin'ny karazana zavatra Series
, tahaka series.mean()
. Voatahiry ao anaty rakibolana ny valin'ny kajy stats
. Ny histograma dia novolavolaina tamin'ny alΓ lan'ny dikan-teny namboarina matplotlib.pyplot.hist
. Ny fampifanarahana dia mikendry ny hahazoana antoka fa ny fiasa dia afaka miasa amin'ny karazana angon-drakitra samihafa.
Ireo mari-pamantarana mifandraika sy angona santionany nodinihina
Aorian'ny valin'ny famakafakana ny variables, ny pandas-profiling, ao amin'ny fizarana Correlations, dia hampiseho ny matrices correlation Pearson sy Spearman.
Pearson correlation matrix
Raha ilaina, azonao atao, ao amin'ny andalana fehezan-dalΓ na izay miteraka ny tatitra, mametraka ny tondro ny tokonam-baravarana soatoavina ampiasaina amin'ny kajy ny fifandraisana. Amin'ny fanaovana izany dia azonao atao ny mamaritra hoe inona ny tanjaky ny fifamatorana heverina ho zava-dehibe amin'ny fanadihadianao.
Farany, ny tatitra momba ny pandas, ao amin'ny fizarana Sample, dia mampiseho, ho ohatra, sombin-drakitra nalaina tany am-piandohan'ny angon-drakitra. Ity fomba fiasa ity dia mety hiteraka tsy ampoizina tsy mahafinaritra, satria ny fandinihana vitsivitsy voalohany dia mety maneho santionany izay tsy maneho ny toetran'ny angon-drakitra manontolo.
Fizarana misy angona santionany eo am-pandinihana
Vokatr'izany dia tsy manoro hevitra ny hijery ity fizarana farany ity aho. Fa tsara kokoa ny mampiasa ny baiko df.sample(5)
, izay hisafidy tsindrim-peo 5 avy amin'ny angon-drakitra.
vokatra
Raha fintinina, ny trano famakiam-boky pandas-profiling dia manome ny mpandinika ny fahaiza-manao ilaina izay ho ilaina amin'ny tranga izay ilanao haingana ny hevitra henjana momba ny angon-drakitra na mandefa tatitra momba ny famakafakana amin'ny olona iray. Mandritra izany fotoana izany, ny asa tena izy miaraka amin'ny angon-drakitra, amin'ny fiheverana ny endri-javatra, dia atao, toy ny tsy mampiasa pandas-profiling, amin'ny tanana.
Raha te-hijery ny endriky ny famakafakana angon-drakitra momba ny fitsikilovana rehetra ao amin'ny kahie Jupyter iray ianao dia jereo
Ry mpamaky malala! Aiza ianao no manomboka mamakafaka ireo angona vaovao?
Source: www.habr.com