gpt4 book ai didi

python - 使用多个变量/输入查询数据框列

转载 作者:行者123 更新时间:2023-12-01 06:47:27 26 4
gpt4 key购买 nike

我遇到过一种情况,需要通过下面 P1-P5 列中的输入来过滤数据帧。可以有 1 到 5 个输入,并且它们可以位于 P1-P5 中的任何一个中。

   TeamAbb    P1       P2      P3      P4      P5
0 ATL1 203953 1627745 1629027 1629629 1629631
1 ATL2 203953 1627745 1627761 1629027 1629631
2 ATL3 203458 203953 1627761 1629027 1629631
3 ATL4 203458 203953 1629027 1629629 1629631
4 ATL5 203458 1628381 1629027 1629629 1629631
5 ATL6 203953 1628981 1628989 1629027 1629631
6 ATL7 203953 1627745 1628989 1629027 1629631
7 ATL8 1713 202323 203459 1627761 1628981
8 ATL9 1713 203459 1628981 1629027 1629631

示例1

input_val = [1713]

TeamAbb P1 P2 P3 P4 P5
7 ATL8 1713 202323 203459 1627761 1628981
8 ATL9 1713 203459 1628981 1629027 1629631

示例2

input_val = [1713,202323]

TeamAbb P1 P2 P3 P4 P5
7 ATL8 1713 202323 203459 1627761 1628981

到目前为止,我尝试过的每种方法都不起作用(查询、应用/任何和掩码)。如果有人对如何解决这个问题有想法,我会非常感激。

最佳答案

您可以将所有 bool 数据帧相加( eq )等于列表中的每个值,然后 sumaxis=1 上生成的求和数据帧,然后检查它是否与输入列表的长度相同:

input_val = [1713,202323]
mask = sum([df.eq(i) for i in input_val]).sum(1).eq(len(input_val))

print (df[mask])
TeamAbb P1 P2 P3 P4 P5
7 ATL8 1713 202323 203459 1627761 1628981

关于python - 使用多个变量/输入查询数据框列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59166488/

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