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 = Trueargument:

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)

w3schools CERTIFIED . 2021

Získejte certifikaci!

Dokončete moduly Pandas, proveďte cvičení, udělejte zkoušku a získáte certifikaci w3schools!

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.