使用reduce
具有add
与参数fill_value=0
:
np.random.seed(12)
a = pd.DataFrame(np.random.randint(3, size=(5,3)), columns=list('abc'))
b = pd.DataFrame(np.random.randint(3, size=(5,2)), columns=list('ab'))
c = pd.DataFrame(np.random.randint(3, size=(5,2)), columns=list('ac'))
print(a)
a b c
0 2 1 1
1 2 0 0
2 2 1 0
3 1 1 1
4 2 2 2
print(b)
a b
0 0 1
1 0 0
2 1 2
3 1 2
4 0 1
print(c)
a c
0 2 0
1 2 2
2 2 0
3 0 2
4 1 1
from functools import reduce
dfs = [a,b, c]
d = reduce(lambda x, y: x.add(y, fill_value=0), dfs)
print (d)
a b c
0 4 2.0 1.0
1 4 0.0 2.0
2 5 3.0 0.0
3 2 3.0 3.0
4 3 3.0 3.0