gpt4 book ai didi

python - 如何使用Python Pandas使用动态字符串来过滤数据帧

转载 作者:行者123 更新时间:2023-12-01 01:31:59 24 4
gpt4 key购买 nike

数据框

    PROJECT  CLUSTER_x  MARKET_x  CLUSTER_y  MARKET_y     Exist
0 P17 A CHINA C CHINA both
1 P18 P INDIA P INDIA both
2 P16 P AMERICA P AMERICA both
3 P19 P INDIA P JAPAN both

下面的代码运行得很好,输出为索引 0 和 3

df_mismatched = df_common[ (df_common['MARKET_x'] != df_common['MARKET_y']) | (df_common['CLUSTER_x'] != df_common['CLUSTER_y']) ]

我们如何动态地构建这样的过滤标准?类似下面的代码,这样下次就不需要硬编码了

str_common = '(df_common["MARKET_x"] != df_common["MARKET_y"]) | (df_common["CLUSTER_x"] != df_common["CLUSTER_y"])'
df_mismatched = df_common[str_common]

最佳答案

出于动态目的,您可以使用 query在Python中像:

con = "(MARKET_x!=MARKET_y)|(CLUSTER_x!=CLUSTER_y)"
print(df.query(con))

PROJECT CLUSTER_x MARKET_x CLUSTER_y MARKET_y Exist
0 P17 A CHINA C CHINA both
3 P18 P INDIA P JAPAN both

请记住,如果列名称包含空格或特殊字符,则无法生成正确的结果。

关于python - 如何使用Python Pandas使用动态字符串来过滤数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52775917/

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