我试图找出如何通过公共列连接两个dataframes,然后添加其他类似列在一起。
输入
df1 = pd.DataFrame({'timestamp': [0, 1, 2, 3], 'value': [1, 2, 3, 4]})
df2 = pd.DataFrame({'timestamp': [0, 1, 3], 'value': [2, 2, 2]})
结果
df3 = {'timestamp': [0, 1, 2, 3], 'value': [3, 4, 3, 6]}
因为
1 + 2 = 3
2 + 2 = 4
3 + 0 = 3
4 + 2 = 6
您可以设置timestamp
为您的索引并添加dataframes在一起。您将需要使用add
与fill_value
设置为0
您丢失的数据点:
df1 = df1.set_index('timestamp')
df2 = df2.set_index('timestamp')
result = df1.add(df2, fill_value=0)
result
value
timestamp
0 3.0
1 4.0
2 3.0
3 6.0
如果你想保持timestamp
为一列,只是用reset_index
将其移回:
result.reset_index()
timestamp value
0 0 3.0
1 1 4.0
2 2 3.0
3 3 6.0