@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 |
@chloe.keebler
В Pandas для поиска значений nan можно использовать методы DataFrame.isnull() или DataFrame.isna().
Пример использования метода isnull():
1 2 3 4 5 6 7 8 9 10 11 12 |
import pandas as pd import numpy as np data = {'A': [1, np.nan, 3], 'B': [4, 5, np.nan], 'C': [7, 8, 9]} df = pd.DataFrame(data) # Проверка, содержит ли каждый элемент nan print(df.isnull()) |
Это вернет:
1 2 3 4 |
A B C 0 False False False 1 True False False 2 False True False |
Пример использования метода isna():
1 2 3 4 5 6 7 8 9 10 11 12 |
import pandas as pd import numpy as np data = {'A': [1, np.nan, 3], 'B': [4, 5, np.nan], 'C': [7, 8, 9]} df = pd.DataFrame(data) # Проверка, содержит ли каждый элемент nan print(df.isna()) |
Это вернет:
1 2 3 4 |
A B C 0 False False False 1 True False False 2 False True False |
Отметим, что методы isnull() и isna() возвращают DataFrame той же формы, что и исходный, со значениями True для nan элементов и False для всех остальных элементов.