gpt4 book ai didi

python - 基于两列的组合过滤 Pandas 数据框

转载 作者:行者123 更新时间:2023-12-04 17:29:59 26 4
gpt4 key购买 nike

假设我有一个数据框,

   a  b
0 1 2
1 2 3
2 4 2
3 4 3

我想过滤数据框,以便得到结果,

   a  b
0 1 2
3 4 3

即,我想要组合 (1,2)(4,3)通过将两列过滤在一起。

如果我试试这个

df1 = df[df['a'].isin([1,4]) & df['b'].isin([2,3])]

我得到了整个数据帧,因为 (1,3) 的组合和 (4,2)也包含在上述方法中。但我只需要给定的组合。我有一个巨大的两列元组列表,我想根据相应的元组组合过滤数据框。

另外,我不想将两列合并为一个字符串然后过滤。

最佳答案

用 -

df[df[['a', 'b']].apply(tuple, axis=1).isin([(1,2), (4,3)])]

输出
    a   b
0 1 2
3 4 3

说明
df[['a', 'b']].apply(tuple, axis=1)给出一系列元组 -
0    (1, 2)
1 (2, 3)
2 (4, 2)
3 (4, 3)
.isin([(1,2), (4,3)])搜索所需的元组并给出一个 bool 系列

关于python - 基于两列的组合过滤 Pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53945870/

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