Accelerate exploratory Analysis per pandas-profiling bibliotheca

Primus gradus est cum incipit operari cum nova notitia statuta, est intelligere. Ad hoc faciendum debes, exempli gratia, ut ranges valorum ab variabilium, eorum speciebus acceptorum invenire, et etiam de numero valorum absentium cognoscere.

Pandas bibliotheca nobis praebet multa instrumenta utilia ad analysin exploratoria perficienda (EDA). Sed antequam his uteris, opus est ut communioribus functionibus incipere solere ut df.describe(). Attamen notandum est quod facultates talibus functionibus praevisae limitatae sunt, et initiales gradus operandi cum quavis notitia copiarum faciendo EDA, persaepe inter se simillimae.

Accelerate exploratory Analysis per pandas-profiling bibliotheca

Auctor materiae quam hodie divulgamus dicit eum non esse flabellam actionum repetitorum faciendorum. Quam ob rem, instrumenta quaerens ut cito et efficaciter analysin exploratorialia perficiat, invenit bibliothecam pandas-profiling. Eventus laboris eius non in quibusdam indicibus singularibus exprimuntur, sed in specie satis accuratae HTML relationis in qua maxime percontationum de notitia analyticarum perspicienda est, ut scire debes antequam cum ea arctius elaborare incipias.

Hic lineamenta spectabimus utendi bibliothecae pandas-profilingae utens in exemplo Titanica dataset.

Exploratori Analysis usura pandas

Placuit experiri cum pandas-profiling in Titanica dataset ob varias species notitiarum quas continet et praesentia valorum absentium in ea. Credo bibliothecam pandas-profiling praesertim esse interesting in casibus, ubi notitia nondum purgata est et ulteriores processus secundum proprietates eius requirit. Ut talem processum feliciter exerceas, scire debes ubi incipias et quid attendere. Hoc est ubi pandas profling facultates veniunt in habilem.

Primum, notitias et usus pandas ad statisticam describendi obtinendam importamus:

# ΠΈΠΌΠΏΠΎΡ€Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²
import pandas as pd
import pandas_profiling
import numpy as np

# ΠΈΠΌΠΏΠΎΡ€Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ…
df = pd.read_csv('/Users/lukas/Downloads/titanic/train.csv')

# вычислСниС ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ статистики
df.describe()

Post hanc codicis partem peractam habebis quod in sequenti figura ostenditur.

Accelerate exploratory Analysis per pandas-profiling bibliotheca
Descriptio statistics nactus per instrumenta pandas vexillum

Quamquam hic notitiae multae utiles sunt, non omnia continet quae studium de rebus cognoscendis interest. Exempli gratia, supponere potest quod in tabula data, in structura DataFramesunt ordines 891 . Si hoc inhiberi debet, alia linea codicis requiritur ad quantitatem membrorum determinare. Dum haec calculi non sunt praesertim resource intensiva, eas repetens omne tempus tenetur tempus terere quod probabiliter melius datam purgare posset.

Analysis exploratoriae notitia usura pandas-profiling

Nunc eodem pandas profilinge faciamus:

pandas_profiling.ProfileReport(df)

Exsequens supra lineam codicis relationem cum indicibus analyseos exploratoriis generabit. Codex supra demonstratus notitias inventas outputabit, sed fasciculum HTML outputare potes quod alicui ostendere possis, exempli gratia.

Prima pars relationis sectionem Overview continebit, praecipuas informationes de notitiis (numerum observationum, numerum variabilium, etc.). Indicem etiam summarum continebit, rerum analystam notificans sedulo curando. Haec summis extare praebere possunt ubi notitias tersus conatus intendere potes.

Accelerate exploratory Analysis per pandas-profiling bibliotheca
Overview fama sectionem

Exploratori variabilis Analysis

Infra sectionem Overview relationis invenire potes utiles informationes de singulis variabilibus. Includunt, praeter alia, chartulas singulas variabiles distributionem describentes.

Accelerate exploratory Analysis per pandas-profiling bibliotheca
De Aetate numerorum variabilis

Ut videre potes ex exemplo praecedente, pandas-profiling multa nobis praebet indices utiles, ut recipis et numerus valorum absentium, necnon mensurarum descriptio statisticarum quae iam vidimus. Quod Age variabilis numeralis est, visualisatio distributionis in forma histogrammatis nobis permittit concludere nos distributionem alid ad ius habere.

Cum variabiles categoricas considero, eventus output paulo diversus sunt ab illis qui pro variabili numerorum numero inveniuntur.

Accelerate exploratory Analysis per pandas-profiling bibliotheca
Circa sex categorica variabilis

Nempe pro inveniendo medium, minimum et maximum, bibliotheca pandas-profiling numerum generum invenit. Quod Sex β€” variabilis binarius, eius valores duobus generibus repraesentantur.

Si codicem similem facio examinare libet, studeas quomodo prorsus bibliothecam profilingalem pandas his metricis calculet. Hoc comperto, codicem bibliothecae in GitHub apertum et promptum esse, haud ita difficile est. Since I'm not a big fan of using black boxes in my projects, I took a look at the library's source code. Exempli gratia, haec mechanismus in variabilium numerorum expediendorum numerorum variabilium processui similis, per munus repraesentatur describe_numeric_1d:

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)

Licet haec pars codicis satis ampla et multiplex videatur, actu simplicissima intellegitur. Punctum est quod in fonte codicis bibliothecae munus est quod genera variabilium determinat. Si eveniat bibliothecam variabilem numerorum incidisse, munus illud metri inspiciebamus invenies. Hoc munus utitur vexillum pandas operationibus ad operandum cum obiectis generis Series, sicut series.mean(). Proventus calculi reponuntur in dictionario stats. Histograms generantur versionem aptam functionis utentes matplotlib.pyplot.hist. Accommodatio eo spectat ut munus operari possit cum diversis generibus notitiarum copiarum.

Correlation indicibus et specimen data studied

Post eventus analysis variabilium, pandas-profiling, in sectione Correlationum, correlationem matrices Pearson et Spearman exhibebunt.

Accelerate exploratory Analysis per pandas-profiling bibliotheca
Pearson ratione matricis

Si opus est, in linea codicis quae generationis relationis triggera est, indices limen valorum qui relativo computandi usi sunt, pone. Hoc faciens, exprimere non potes quanta vis relationis momenti sit pro analysi tua.

Demum, relatio pandas-profilingorum, in sectione Sample, ostendit, in exemplum, particulam notitiarum ab initio notitiarum statutorum desumptam. Hic accessus ad incommodas admirationes ducere potest, cum paucae primae observationes exemplum repraesentare possint quod notas totius notitiae statutae non reflectit.

Accelerate exploratory Analysis per pandas-profiling bibliotheca
Sectio continet specimen data sub studio

Quam ob rem non suadeo attendentes hanc sectionem ultimam. Sed melius est uti imperio df.sample(5), quae passim 5 observationes e notitia paroeciarum eligunt.

results

Ad summam, bibliotheca pandas-profiling dat analyticum aliquas facultates utiles quae in promptu erunt in casibus in quibus opus est ut cito asperam notitiarum notionem accipias vel in analysi intelligentiae famam alicui transeas. Eodem tempore, verus labor cum notitia, ratione notarum suarum, conficitur quasi sine usu pandas-profiling, manually.

Vide si vis inspicere quae omnia analysi intelligentiae datae in uno libello Iuppiterno apparent, inspice haec mea project usus nbviewer creatus est. Et in haec Potes invenire codicem respondentem in repositoriis GitHub.

Carissimi legentibus! Ubi analyzing incipit nova notitia occidere?

Accelerate exploratory Analysis per pandas-profiling bibliotheca

Source: www.habr.com