在 pandas 合并期间将指示器更新为更友好的消息的最快方法是什么?
默认indicator= True
yields left_only
,right_only
,both
,我想更新为Only present in last month's data
,Only present in current month's data
, Present in Both month's data
.
我希望不用lambda operator
.
创建一个工作示例:
np.random.seed(0)
left = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], 'value': np.random.randn(4)})
right = pd.DataFrame({'key': ['B', 'D', 'E', 'F'], 'value': np.random.randn(4)})
merged=left.merge(right,on='key',how='outer',indicator=True)
print(merged)
key value_x value_y _merge
0 A 1.764052 NaN left_only
1 B 0.400157 1.867558 both
2 C 0.978738 NaN left_only
3 D 2.240893 -0.977278 both
4 E NaN 0.950088 right_only
5 F NaN -0.151357 right_only
对于映射值:
d={"left_only":"Only present in last month's data", "right_only":"Only present in current month's data","both":"Present in Both month's data"}
merged['_merge'] = merged['_merge'].map(d)
print(merged)
key value_x value_y _merge
0 A 1.764052 NaN Only present in last month's data
1 B 0.400157 1.867558 Present in Both month's data
2 C 0.978738 NaN Only present in last month's data
3 D 2.240893 -0.977278 Present in Both month's data
4 E NaN 0.950088 Only present in current month's data
5 F NaN -0.151357 Only present in current month's data
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)