gpt4 book ai didi

python - 使用 pd.Dataframe.isin() 通过多个条件获取新数据帧

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

我正在尝试编写函数来获取 df 和将列映射到值的字典。该函数对行(索引)进行切片,以便仅返回其值与“条件”键值匹配的行。例如:df_isr13 = filterby_criteria(df, {"Area":["USA"], "Year":[2013]}) 只有 "Year"=2013"Area"="USA" 包含在输出中。

我试过:

def filterby_criteria(df, criteria):
for key, values in criteria.items():
return df[df[key].isin(values)]

但我只得到第一个标准如何通过 pd.Dataframe.isin() 获取除所有条件外的新数据框?

最佳答案

您可以使用 for 循环并通过 pandas 合并功能添加每个条件:

def filterby_criteria(df, criteria):
for key, values in criteria.items():
df = pd.merge(df[df [key].isin(values)], df, how='inner')
return df

关于python - 使用 pd.Dataframe.isin() 通过多个条件获取新数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56569116/

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