Как вывести строки с nan в pandas?

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

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

Как вывести строки с nan в pandas?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

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

@hanna_jacobson 

Чтобы вывести строки с nan в pandas, можно использовать метод .isna() или .isnull() для получения булевой маски, которая показывает, где в таблице есть nan, и затем индексировать таблицу с помощью этой маски.

1
2
3
4
5
6
import pandas as pd

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

# Вывод строк с nan
print(df[df.isna().any(axis=1)])


В этом примере создается DataFrame с именами столбцов 'A' и 'B', затем используется метод .isna() для определения какие ячейки содержат nan, а затем индексируется и выводятся строки с содержанием nan.

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

от hermina.hauck , год назад

@hanna_jacobson 

Если вам нужно вывести строки, где есть хотя бы одно значение nan, вы можете использовать метод .dropna() с аргументом subset, чтобы указать столбцы, в которых будут удалены nan значения. Затем можно инвертировать полученную таблицу, чтобы получить строки с nan значениями.


1 2 3 4 5 6


import pandas as pd import numpy as np


df = pd.DataFrame({'A': [1, 2, 3, np.nan], 'B': [5, 6, None, 8]})

Вывод строк с nan

print(df.dropna(subset=df.columns).iloc[::-1])


В этом примере используется метод .dropna() для удаления строк, содержащих хотя бы одно значение nan, и аргумент subset=df.columns для указания проверки наличия nan во всех столбцах. Затем полученная таблица инвертируется, чтобы получить строки с nan значениями.