我有两个具有不同索引的数据帧,我想对这两个数据帧中的同一列求和。
基于一个建议,我尝试了以下内容,但是删除了其他列,如cat
df = df.set_index('date')
tmp = tmp.set_index('date')
result = df['Anomaly'].add(tmp['Anomaly'], fill_value=0).reset_index()
df
date cat Anomaly
0 2018-12-06 a 0
1 2019-01-07 b 0
2 2019-02-06 a 1
3 2019-03-06 a 0
4 2019-04-06 b 0
tmp
date cat Anomaly
0 2018-12-06 a 0
1 2019-01-07 b 1
4 2019-04-06 b 0
result
date Anomaly
0 2018-12-06 0.0
1 2019-01-07 1.0
2 2019-02-06 1.0
3 2019-03-06 0.0
4 2019-04-06 0.0
实际上,我想要的是基于索引求和,并保持category列和int
dtype的Anomaly
:
result
date cat Anomaly
0 2018-12-06 a 0
1 2019-01-07 b 1
2 2019-02-06 a 1
3 2019-03-06 a 0
4 2019-04-06 b 0
我对你上一个问题给出的answer经过最小的调整后仍然有效:
它给出:
保留df的
cat
列,并保留Anomaly
的int64类型concat
和groupby
set_index
+add
试试
update
:输出:
相关问题 更多 >
编程相关推荐