我有2个dataframe:
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
假设我想根据索引将df2
中的a
列添加到df1
中:
df1['a'] += df2['a']
>>> df1
a b c
0 NaN 2 3
1 6 5 6
2 15 8 9
当索引在两个帧中都存在时,这很好地工作,但我只想在索引缺失的情况下添加零,而不是引入nan
s。有办法做到这一点吗?
您可以使用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