Сумма NaNs равна NaN (не ноль) - PullRequest
       26

Сумма NaNs равна NaN (не ноль)

0 голосов
/ 07 февраля 2019

Я могу добавить ИТОГО столбец к этому DF, используя df ['TOTAL'] = df.sum (axis = 1), и он добавляет элементы строки следующим образом:

   col1  col2  TOTAL
0   1.0   5.0    6.0
1   2.0   6.0    8.0
2   0.0   NaN    0.0
3   NaN   NaN    0.0

Однако яхотел бы, чтобы сумма в нижней строке была равна NaN, а не нулю, например:

   col1  col2  TOTAL
0   1.0   5.0    6.0
1   2.0   6.0    8.0
2   0.0   NaN    0.0
3   NaN   NaN    Nan

Есть ли способ, которым я могу добиться этого эффективным способом?

1 Ответ

0 голосов
/ 07 февраля 2019

Добавить параметр min_count=1 в DataFrame.sum:

min_count : int, значение по умолчанию 0
Требуемое количество допустимых значений длявыполнить операцию.Если присутствует меньшее, чем min_count значений, отличных от NA, результатом будет NA.

Новое в версии 0.22.0: добавлено по умолчанию 0. Это означает, что сумма серии всех NA или пустой серии равна 0и произведение серии «все-NA» или «пусто» равно 1.

df['TOTAL'] = df.sum(axis=1, min_count=1)
print (df)
   col1  col2  TOTAL
0   1.0   5.0    6.0
1   2.0   6.0    8.0
2   0.0   NaN    0.0
3   NaN   NaN    NaN
...