функция суммы принимает значения NaN как 0.
, если вы хотите, чтобы результатом суммы значений NaN было NaN:
df.loc['b'].sum(min_count=1)
Вывод:
nan
если применить ко всем строкам (после использования переиндексации), вы получите следующее:
df.sum(axis=1,min_count=1)
a 137.0
b NaN
c 79.0
d NaN
e 132.0
f 95.0
g NaN
h 81.0
dtype: float64
, если вы теперь измените значение NaN строки:
df.at['b','One']=0
print(df)
One Two Three
a 54.0 20.0 29.0
b 0.0 NaN NaN
c 13.0 24.0 27.0
d NaN NaN NaN
e 28.0 53.0 25.0
f 46.0 55.0 50.0
g NaN NaN NaN
h 47.0 26.0 48.0
df.sum(axis=1,min_count=1)
a 103.0
b 0.0
c 64.0
d NaN
e 106.0
f 151.0
g NaN
h 121.0
dtype: float64
, как вы можете видетьтеперь результат строки b равен 0