Как удалить пустые значения в pandas?

Пользователь

от marc_zboncak , в категории: Python , 2 года назад

Как удалить пустые значения в pandas?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от clifford , 2 года назад

@marc_zboncak 

Чтобы удалить пустые значения из DataFrame в pandas, вы можете использовать метод DataFrame.dropna(). Он удалит строки или столбцы, содержащие пустые значения. Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, None]})
print(df)

#   A  B    C
# 0 1  4  7.0
# 1 2  5  8.0
# 2 3  6  NaN

# удалить строки с пустыми значениями
df.dropna()

#   A  B    C
# 0 1  4  7.0
# 1 2  5  8.0

# удалить столбцы с пустыми значениями
df.dropna(axis=1)

#   A  B
# 0 1  4
# 1 2  5
# 2 3  6


Вы также можете указать параметр thresh, чтобы удалить только те строки или столбцы, у которых более определенного количества пустых значений. Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# удалить строки с более чем одним пустым значением
df.dropna(thresh=2)

#   A  B    C
# 0 1  4  7.0
# 1 2  5  8.0

# удалить столбцы с более чем одним пустым значением
df.dropna(axis=1, thresh=2)

#   A  B
# 0 1  4
# 1 2  5
# 2 3  6


Пользователь

от autumn_parker , год назад

@marc_zboncak 

Чтобы удалить пустые значения в Pandas, можно использовать функцию dropna(). Вот несколько способов ее применения:

  1. Удалить строки с пустыми значениями:
1
df.dropna()


  1. Удалить столбцы с пустыми значениями:
1
df.dropna(axis=1)


  1. Удалить строки с пустыми значениями в определенных столбцах:
1
df.dropna(subset=['column1', 'column2'])


  1. Удалить строки, у которых более определенного количества пустых значений:
1
df.dropna(thresh=n)


где n - минимальное количество непустых значений, которое должно быть в строке, чтобы она не была удалена.

  1. Заменить пустые значения на другое значение:
1
df.fillna(value)


где value - значение, на которое нужно заменить пустые значения.


Обратите внимание, что все эти методы возвращают новый DataFrame с удаленными значениями. Если вы хотите изменить исходный DataFrame, можно применить операцию присваивания, например:

1
df = df.dropna()