Jak vypočítat průměry pomocí funkce pandas mean()
Funkce DataFrame.mean() v Python pandas se používá k výpočtu průměrů v jedné nebo více osách DataFrame. Pandas mean() je nezbytný pro analýzu numerických dat. Kromě výpočtu průměrných hodnot nabízí také přehled o distribuci dat.
Jaká je syntaxe pro DataFrame.mean()?
Funkce pandas mean() přijímá až tři parametry a má následující syntaxi:
DataFrame.mean(axis=None, skipna=True, numeric_only=None)pythonJaké parametry lze použít s pandas Dataframe.mean?
Pomocí různých parametrů můžete přizpůsobit fungování pandas DataFrame.mean().
| Parametr | Popis | Výchozí hodnota |
|---|---|---|
axis
|
Určuje, zda se výpočet provádí nad řádky (axis=0) nebo sloupci (axis=1).
|
0
|
skipna
|
Pokud je nastaveno na True, hodnoty NaN budou ignorovány.
|
True
|
numeric_only
|
Pokud je nastaveno na True, do výpočtu budou zahrnuty pouze numerické datové typy.
|
False
|
Jak používat pandas mean()
Funkci pandas DataFrame.mean() můžete použít jak na sloupce, tak na řádky.
Výpočet průměrných hodnot pro sloupce
Nejprve vytvoříme pandas DataFrame s některými numerickými daty:
import pandas as pd
data = {
'A': [1, 2, 3, 4],
'B': [4, 5, 6, 7],
'C': [7, 8, 9, 10]
}
df = pd.DataFrame(data)
print(df)pythonVýsledný DataFrame vypadá takto:
A B C
0 1 4 7
1 2 5 8
2 3 6 9
3 4 7 10K výpočtu průměru každého sloupce můžete použít funkci pandas mean(). Ve výchozím nastavení je parametr osy nastaven na 0, což odpovídá sloupcům.
column_means = df.mean()
print(column_means)pythonVýše uvedený kód vypočítá průměr pro každý sloupec (A, B a C) tak, že najde součet prvků v příslušném sloupci a poté jej vydělí počtem prvků ve sloupci. Výsledkem je následující pandas Series:
A 2.5
B 5.5
C 8.5
dtype: float64Výpočet průměrných hodnot pro řádky
Pokud chcete zjistit průměr pro řádky, stačí nastavit parametr axis na hodnotu 1:
row_means = df.mean(axis=1)
print(row_means)pythonPandas mean() vypočítává průměry řádků tak, že vydělí součet prvků v řádku počtem prvků, které obsahuje. Volání výše uvedené funkce vygeneruje následující výstup:
0 4.0
1 5.0
2 6.0
3 7.0
dtype: float64Zpracování hodnot NaN
V tomto příkladu použijeme jiný DataFrame, který obsahuje hodnoty NaN:
import pandas as pd
import numpy as np
data = {
'A': [1, 2, np.nan, 4],
'B': [4, np.nan, 6, 7],
'C': [7, 8, 9, np.nan]
}
df = pd.DataFrame(data)
print(df)pythonVýše uvedený kód vytvoří následující DataFrame:
A B C
0 1.0 4.0 7.0
1 2.0 NaN 8.0
2 NaN 6.0 9.0
3 4.0 7.0 NaNPři výpočtu průměrů pro sloupce parametr skipna určuje, zda mají být hodnoty NaN zahrnuty nebo ignorovány. Výchozí hodnota skipna je nastavena na True, takže df.mean() automaticky ignoruje hodnoty NaN. Pokud chcete zahrnout hodnoty NaN, musíte přidat parametr skipna=False. Tím se zajistí, že každý sloupec s alespoň jednou hodnotou NaN vrátí jako průměr hodnotu NaN.
mean_with_nan = df.mean()
print(mean_with_nan)pythonVolání df.mean() vygeneruje následující výstup:
A 2.333333
B 5.666667
C 8.000000
dtype: float64