gpt4 book ai didi

python - 如何基于另一个数据框将数据放入数据框中

转载 作者:行者123 更新时间:2023-11-28 17:16:14 24 4
gpt4 key购买 nike

我有一个这样的数据框A

    user_id sku_id    time
0 56804 75906 2016-02-01 00:10:48
1 56804 75906 2016-02-01 08:36:59
2 56805 75906 2016-02-01 08:36:59
3 56806 81256 2016-02-01 00:08:15
……

然后我有另一个像这样的数据框 B:

    user_id sku_id        
0 56804 75906
1 56806 81256
……

我想选择数据框 A 中的样本,其中 (user_id, sku_id) 不在数据框 B 中。如何有效地做到这一点?因为我的数据比较大,而且我是在内存有限的电脑上做的。

最佳答案

使用merge带有参数 indicatorquery用于过滤,然后使用 drop 删除辅助列:

df = pd.merge(df1, df2, how='outer', indicator=True)
.query('_merge == "left_only"')
.drop('_merge', 1)
print (df)
user_id sku_id time
2 56805 75906 2016-02-01 08:36:59

另一种解决方案:

x = pd.MultiIndex.from_arrays([df1['user_id'], df1['sku_id']])
y = pd.MultiIndex.from_arrays([df2['user_id'], df2['sku_id']])
inter = x.difference(y)
df1 = df1.set_index(['user_id', 'sku_id']).loc[inter].reset_index()
print (df1)
user_id sku_id time
0 56805 75906 2016-02-01 08:36:59

关于python - 如何基于另一个数据框将数据放入数据框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43929750/

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