gpt4 book ai didi

python - 从一个数据框中删除另一个数据框的列中的元素

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

我有一个带有 MULTILEVEL INDEX 的数据框 df1:

       A     B     C      D
0 0 0 1 2 3
4 5 6 7
1 2 8 9 10 11
3 2 3 4 5

我还有另一个数据框,其中 df2 中有 2 个公共(public)列,也具有 MULTILEVEL INDEX

          X     B     C      Y
0 0 0 0 7 3
1 4 5 6 7
1 2 8 2 3 11
3 2 3 4 5

我需要从 df1 中删除行,其中 BC 列的值与 df2,所以我应该得到这样的东西:

       A     B     C      D
0 0 0 1 2 3
0 2 8 9 10 11

我尝试通过获取公共(public)元素的索引,然后通过列表删除它们来做到这一点,但它们都搞乱了并且采用多级形式。

最佳答案

您可以使用 pandas.dataframe.iloc 在一行中完成此操作, numpy.wherenumpy.logical_or像这样:(我发现这是最简单的方法)

df1 = df1.iloc[np.where(np.logical_or(df1['B']!=df2['B'],df1['C']!=df2['C']))]

当然不要忘记:

import numpy as np

输出:

     A  B   C   D
0 0 0 1 2 3
1 2 8 9 10 11

希望这对您有帮助。如果有任何疑问或意见,请随时发表评论。

关于python - 从一个数据框中删除另一个数据框的列中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44986651/

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