我有一个带有某些NaN值的DataFrame。在此DataFrame中,有些行具有所有NaN值。当我在这些行上应用求和函数时,它将返回零而不是NaN。代码如下:
df = pd.DataFrame(np.random.randint(10,60,size=(5,3)),
index = ['a','c','e','f','h'],
columns = ['One','Two','Three'])
df = df.reindex(index=['a','b','c','d','e','f','g','h'])
print(df.loc['b'].sum())
任何建议?
sum函数将NaN值设为0。
如果您希望结果为NaN您可以使用:
df.loc['b'].sum(min_count=1)
输出:
nan
如果您应用于所有行(使用reindex之后),您将获得以下内容:
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