Панды — очистка пустых ячеек


Пустые ячейки

Пустые ячейки потенциально могут дать вам неверный результат при анализе данных.


Удалить строки

Один из способов справиться с пустыми ячейками — удалить строки, содержащие пустые ячейки.

Обычно это нормально, так как наборы данных могут быть очень большими, и удаление нескольких строк не окажет большого влияния на результат.

Пример

Вернуть новый фрейм данных без пустых ячеек:

import pandas as pd

df = pd.read_csv('data.csv')

new_df = df.dropna()

print(new_df.to_string())

В наших примерах очистки мы будем использовать CSV-файл с именем «dirtydata.csv».

Загрузите грязные данные.csv . или Откройте dirtydata.csv

Примечание. По умолчанию dropna()метод возвращает новый кадр данных и не меняет исходный.

Если вы хотите изменить исходный DataFrame, используйте inplace = Trueаргумент:

Пример

Удалить все строки со значениями NULL:

import pandas as pd

df = pd.read_csv('data.csv')

df.dropna(inplace = True)

print(df.to_string())

Примечание. Теперь dropna(inplace = True)НЕ вернет новый DataFrame, но удалит все строки, содержащие значения NULL, из исходного DataFrame.


Заменить пустые значения

Другой способ работы с пустыми ячейками — вставить вместо них новое значение.

Таким образом, вам не придется удалять целые строки только из-за пустых ячеек.

Метод fillna()позволяет нам заменить пустые ячейки значением:

Пример

Замените значения NULL на число 130:

import pandas as pd

df = pd.read_csv('data.csv')

df.fillna(130, inplace = True)

Заменить только для указанных столбцов

В приведенном выше примере заменяются все пустые ячейки во всем фрейме данных.

Чтобы заменить пустые значения только для одного столбца, укажите имя столбца для DataFrame:

Пример

Замените значения NULL в столбцах «Калории» на число 130:

import pandas as pd

df = pd.read_csv('data.csv')

df["Calories"].fillna(130, inplace = True)

w3schools CERTIFIED . 2021

Получите сертификат!

Завершите модули Pandas, выполните упражнения, сдайте экзамен, и вы получите сертификат w3schools!

ЗАРЕГИСТРИРОВАТЬСЯ НА 10 $

Замена с использованием среднего, медианы или режима

Обычный способ замены пустых ячеек — вычисление среднего, медианного или модового значения столбца.

Pandas использует методы mean() median()и mode()для вычисления соответствующих значений для указанного столбца:

Пример

Вычислите СРЕДНЕЕ значение и замените им любые пустые значения:

import pandas as pd

df = pd.read_csv('data.csv')

x = df["Calories"].mean()

df["Calories"].fillna(x, inplace = True)

Среднее = среднее значение (сумма всех значений, деленная на количество значений).

Пример

Вычислите МЕДИАНУ и замените ею любые пустые значения:

import pandas as pd

df = pd.read_csv('data.csv')

x = df["Calories"].median()

df["Calories"].fillna(x, inplace = True)

Медиана = значение в середине после того, как вы отсортировали все значения по возрастанию.

Пример

Вычислите MODE и замените им любые пустые значения:

import pandas as pd

df = pd.read_csv('data.csv')

x = df["Calories"].mode()[0]

df["Calories"].fillna(x, inplace = True)

Режим = значение, которое появляется чаще всего.