在索引上加入2个DataFrame,而不会在缺失的索引上引入nans

时间:2015-06-09 18:16:45

标签: python pandas dataframe

我有2个DataFrames:

df1 = pandas.DataFrame([[1,2,3],[4,5,6],[7,8,9]], columns=['a','b','c'])
df2 = df1*2
df2.index = [1,2,3]

>>> df1
   a  b  c
0  1  2  3
1  4  5  6
2  7  8  9

>>> df2
    a   b   c
1   2   4   6
2   8  10  12
3  14  16  18

说我想根据索引将a列从df2添加到df1

df1['a'] += df2['a']
>>> df1
    a  b  c
0 NaN  2  3
1   6  5  6
2  15  8  9

当两个帧中都存在索引时,这样可以正常工作,但我想在缺少索引的情况下添加零,而不是引入nan s。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以将Series.add与参数fill_value=0

一起使用
>>> df1['a'] = df1['a'].add(df2['a'], fill_value=0)

>>> df1
    a  b  c
0   1  2  3
1   6  5  6
2  15  8  9