gpt4 book ai didi

python - Pandas 删除一个数据框中的行,这些行与另一个数据框的列中的行共享一个公共(public)值

转载 作者:行者123 更新时间:2023-12-03 19:14:41 25 4
gpt4 key购买 nike

我有一个名为 x1 的数据框:

 FID  g1    g2    g3
0 19 20 13
1 16 11 14
2 15 20 11

和一个名为 x2 的数据框:
 FID  g1   
1 16

我想更改 x1,使其不包括 x2 中的行:
 FID  g1    g2    g3
0 19 20 13
2 15 20 11

我试过了:
x1 = pd.concat([x1,x2]).drop_duplicates(keep=False)

但认为这仅在数据框具有匹配的模式时才有效。我可以只保留 x1 中不共享 x2 中 FID 值的行吗?

最佳答案

您可以使用 pd.Series.isinFID 中创建 bool 值系列x1 的栏目出现在 FID x2 的栏目.

然后只需使用 pd.DataFrame.loc与运算符(operator) ~反转 bool 系列并选择 x1 的行FID 中的值列未出现在 FIDx2 的栏目:

cond = x1.FID.isin(x2.FID)
x1.loc[~cond]
# output:
FID g1 g2 g3
0 0 19 20 13
2 2 15 20 11

关于python - Pandas 删除一个数据框中的行,这些行与另一个数据框的列中的行共享一个公共(public)值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61163319/

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