gpt4 book ai didi

Python pandas 从左表和右表中获取左表中缺少的行

转载 作者:太空宇宙 更新时间:2023-11-04 09:39:35 25 4
gpt4 key购买 nike

我有左表和右表,我需要以这种方式合并两个表中的 FileStamp 值:从左表和右表中获取左表中缺失的所有值,按“日期”加入:

import pandas as pd
left = pd.DataFrame({'FileStamp': ['T101', 'T102', 'T103', 'T104'], 'date': [20180101, 20180102, 20180103, 20180104]})
right = pd.DataFrame({'FileStamp': ['T501', 'T502'], 'date': [20180104, 20180105]})

有点像

result = pd.merge(left, right, how='outer', on='date')

但是“外部”不是个好主意。

期望的输出应该是这样的

     FileStamp_x      date      FileStamp_y
0 T101 20180101 NaN
1 T102 20180102 NaN
2 T103 20180103 NaN
3 T104 20180104 NaN
4 NaN 20180105 T502

是否有任何简单的方法可以实现所需的输出?

最佳答案

使用 isin 过滤合并之前:

r = right[~right['date'].isin(left['date'])]
print (r)
FileStamp date
1 T502 20180105

result = pd.merge(left, r, how='outer', on='date')
print (result)
FileStamp_x date FileStamp_y
0 T101 20180101 NaN
1 T102 20180102 NaN
2 T103 20180103 NaN
3 T104 20180104 NaN
4 NaN 20180105 T502

关于Python pandas 从左表和右表中获取左表中缺少的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52179520/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com