Pandy - čištění prázdných buněk
Prázdné buňky
Prázdné buňky mohou při analýze dat potenciálně poskytnout nesprávný výsledek.
Odebrat řádky
Jedním ze způsobů, jak se vypořádat s prázdnými buňkami, je odstranit řádky, které obsahují prázdné buňky.
To je obvykle v pořádku, protože soubory dat mohou být velmi velké a odstranění několika řádků nebude mít velký dopad na výsledek.
Příklad
Vraťte nový datový rámec bez prázdných buněk:
import pandas as pd
df = pd.read_csv('data.csv')
new_df = df.dropna()
print(new_df.to_string())
V našich příkladech čištění budeme používat soubor CSV s názvem 'dirtydata.csv'.
Stáhněte si dirtydata.csv . nebo Otevřete soubor dirtydata.csv
Poznámka: Ve výchozím nastavení dropna()
metoda vrací nový DataFrame a nezmění původní.
Pokud chcete změnit původní DataFrame, použijte
inplace = True
argument:
Příklad
Odeberte všechny řádky s hodnotami NULL:
import pandas as pd
df = pd.read_csv('data.csv')
df.dropna(inplace = True)
print(df.to_string())
Poznámka: Nyní dropna(inplace = True)
NEVRÁTÍ nový DataFrame, ale odstraní všechny řádky obsahující hodnoty NULL z původního DataFrame.
Nahradit prázdné hodnoty
Dalším způsobem, jak se vypořádat s prázdnými buňkami, je místo toho vložit novou hodnotu.
Tímto způsobem nemusíte mazat celé řádky jen kvůli některým prázdným buňkám.
Tato fillna()
metoda nám umožňuje nahradit prázdné buňky hodnotou:
Příklad
Nahraďte hodnoty NULL číslem 130:
import pandas as pd
df = pd.read_csv('data.csv')
df.fillna(130, inplace = True)
Nahradit pouze pro specifikované sloupce
Výše uvedený příklad nahradí všechny prázdné buňky v celém datovém rámci.
Chcete-li nahradit prázdné hodnoty pouze pro jeden sloupec, zadejte název sloupce pro DataFrame:
Příklad
Nahraďte hodnoty NULL ve sloupcích "Kalorie" číslem 130:
import pandas as pd
df = pd.read_csv('data.csv')
df["Calories"].fillna(130, inplace = True)
Získejte certifikaci!
10 $ PŘIHLÁSIT SE
Nahradit pomocí střední hodnoty, střední hodnoty nebo režimu
Běžným způsobem, jak nahradit prázdné buňky, je vypočítat střední hodnotu, střední hodnotu nebo hodnotu režimu sloupce.
Pandas používá metody mean()
median()
a mode()
k výpočtu příslušných hodnot pro zadaný sloupec:
Příklad
Vypočítejte MEAN a nahraďte jím všechny prázdné hodnoty:
import pandas as pd
df = pd.read_csv('data.csv')
x = df["Calories"].mean()
df["Calories"].fillna(x, inplace = True)
Průměr = průměrná hodnota (součet všech hodnot dělený počtem hodnot).
Příklad
Vypočítejte MEDIAN a nahraďte jím všechny prázdné hodnoty:
import pandas as pd
df = pd.read_csv('data.csv')
x = df["Calories"].median()
df["Calories"].fillna(x, inplace = True)
Medián = hodnota uprostřed, poté, co jste seřadili všechny hodnoty vzestupně.
Příklad
Vypočítejte MODE a nahraďte jím všechny prázdné hodnoty:
import pandas as pd
df = pd.read_csv('data.csv')
x = df["Calories"].mode()[0]
df["Calories"].fillna(x, inplace = True)
Režim = hodnota, která se zobrazuje nejčastěji.