Python 用Nan对两列求和

Python 用Nan对两列求和,python,pandas,Python,Pandas,我在带有Nan的数据帧中有三列: >>> d=pd.DataFrame({'col1': [1, 2], 'col2': [3, 4], 'col3':[5,6]}) >>> d col1 col2 col3 0 1 3 5 1 2 4 6 >>> d['col2'].iloc[0]=np.nan >>> d col1 col2 col3 0 1

我在带有Nan的数据帧中有三列:

>>> d=pd.DataFrame({'col1': [1, 2], 'col2': [3, 4], 'col3':[5,6]})
>>> d
   col1  col2  col3
0     1     3     5
1     2     4     6
>>> d['col2'].iloc[0]=np.nan
>>> d
   col1  col2  col3
0     1   NaN     5
1     2   4.0     6
>>> d['col1'].iloc[1]=np.nan
>>> d
   col1  col2  col3
0   1.0   NaN     5
1   NaN   4.0     6
>>> d['col3'].iloc[1]=np.nan
>>> d
   col1  col2  col3
0   1.0   NaN   5.0
1   NaN   4.0   NaN
现在,我希望列addition具有以下输出:

>>> d['col1']+d['col3']
0    6.0
1    NaN

>>> d['col1']+d['col2']
0   1.0
1   4.0
然而,在现实中,输出是:

>>> d['col1']+d['col3']
0    6.0
1    NaN

>>> d['col1']+d['col2']
0   NaN
1   NaN
有人知道如何做到这一点吗

您可以使用
fill\u value=0
来获取您的总和:

>>> d.col1.add(d.col2, fill_value=0)
0    1.0
1    4.0
dtype: float64

>>> d.col1.add(d.col3, fill_value=0)
0    6.0
1    NaN
dtype: float64

添加第1列和第2列时,请使用
系列。使用
fill\u value=0添加

>>> d
   col1  col2  col3
0   1.0   NaN   5.0
1   NaN   4.0   NaN
>>> 
>>> d['col1'].add(d['col2'], fill_value=0)
0    1.0
1    4.0
dtype: float64
数据帧和数据系列具有如下方法:
add
sub
。。。为了执行比相关运算符更复杂的操作,
+
-
。。。可以提供

这些方法可以采用额外的参数来微调操作