Как найти nan в pandas?

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

от chloe.keebler , в категории: Python , 9 месяцев назад

Как найти nan в pandas?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

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

от mona_terry , 9 месяцев назад

@chloe.keebler 

Вы можете использовать метод DataFrame.isna() для нахождения значений nan в DataFrame:

1
2
3
4
import pandas as pd

df = pd.DataFrame([[1, 2, 3], [float('nan'), 4, 5]])
print(df.isna())


Это вернет:

1
2
3
       0      1      2
0  False  False  False
1   True  False  False


Вы можете также использовать метод DataFrame.notna(), чтобы найти не-nan значения.


Чтобы найти строки с nan значениями, можно использовать метод DataFrame.any(axis=1), чтобы найти строки, содержащие хотя бы одно nan значение:

1
2
3
4
import pandas as pd

df = pd.DataFrame([[1, 2, 3], [float('nan'), 4, 5]])
print(df.isna().any(axis=1))


Это вернет:

1
2
3
0    False
1     True
dtype: bool


Вы можете использовать этот результат, чтобы выбрать строки с nan значениями:

1
2
3
4
5
import pandas as pd

df = pd.DataFrame([[1, 2, 3], [float('nan'), 4, 5]])
nan_rows = df[df.isna().any(axis=1)]
print(nan_rows)


Это вернет:

1
2
    0   1   2
1 NaN   4   5