Подсчет NaN в определенных c столбцах в кадре данных - PullRequest
3 голосов
/ 26 мая 2020

У меня есть фрейм данных, который немного похож на этот

 A   B   C   D    E   F   G   H
100 100 NaN 100 1000 NaN NaN NaN

Я пытаюсь подсчитать количество экземпляров NaN в столбцах AD; а затем столбцы EH

Я пробовал:

df_["NaN_A-D"] = df[["A", "B", "C", "D"]].isna().sum()
df_["NaN_E-H"] = df[["E", "F", "G", "H"]].isna().sum()

Но новый столбец просто возвращает NaN, а не суммирует экземпляры NaN (ie 1 для первой группировки и 3 для второй группы.

Что я делаю не так, пожалуйста?

Спасибо

1 Ответ

2 голосов
/ 26 мая 2020

Вам нужно axis=1, потому что требуется сумма по строкам, также вывод назначается тому же DataFrame df:

df["NaN_A-D"] = df[["A", "B", "C", "D"]].isna().sum(axis=1)
df["NaN_E-H"] = df[["E", "F", "G", "H"]].isna().sum(axis=1)
print (df)
     A    B   C    D     E   F   G   H  NaN_A-D  NaN_E-H
0  100  100 NaN  100  1000 NaN NaN NaN        1        3
...