Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫:对多个列求和,但如果该行中的任何列为NaN或0,则写入NaN_Python_Python 3.x_Pandas_Dataframe - Fatal编程技术网

Python 熊猫:对多个列求和,但如果该行中的任何列为NaN或0,则写入NaN

Python 熊猫:对多个列求和,但如果该行中的任何列为NaN或0,则写入NaN,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我试图在pandas dataframe中创建一个新列,它将其他列的总数相加。但是,如果任何源列为空(NaN或0),我需要将新列也写为空(NaN) 我目前正在使用pd.sum函数,格式如下 df['sum'] = df[['a','b','c','d']].sum(axis=1, numeric_only=True) 忽略NaN,但不将NaN写入sum列 提前感谢您的建议将您的0替换为np.nan,然后传递skipna=False df.replace(0,np.nan).sum(1,ski

我试图在pandas dataframe中创建一个新列,它将其他列的总数相加。但是,如果任何源列为空(NaN或0),我需要将新列也写为空(NaN)

我目前正在使用pd.sum函数,格式如下

 df['sum'] = df[['a','b','c','d']].sum(axis=1, numeric_only=True)
忽略NaN,但不将NaN写入sum列


提前感谢您的建议

将您的0替换为
np.nan
,然后传递
skipna=False

df.replace(0,np.nan).sum(1,skipna=False)
0    19.0
1     NaN
2     NaN
dtype: float64
df['sum'] = df.replace(0,np.nan).sum(1,skipna=False)

这很有效,非常感谢!很明显,我有很多关于熊猫的知识需要学习,所以我很感谢大家的帮助!
df.replace(0,np.nan).sum(1,skipna=False)
0    19.0
1     NaN
2     NaN
dtype: float64
df['sum'] = df.replace(0,np.nan).sum(1,skipna=False)