在熊猫合并期间将指示器更新为更友好的消息的最快方法是什么?
默认的indicator= True
产生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
的情况下做到这一点。
答案 0 :(得分:0)
创建一个有效的示例:
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