如何向Pandas DataFrame的df.loc方法传入值列表实现多值过滤?
解决Pandas中多值过滤DataFrame的问题
- 当需要匹配多个贷款金额值时,把原代码里的
==替换成Pandas的isin()方法即可,该方法会检查列中的值是否存在于你传入的列表中。 - 修改后的完整代码示例:
# 假设从用户处获取的多值列表如下 target_loan_amounts = [300, 400, 600] # 使用isin()实现多值匹配 mortgage_df = df.loc[(df['loan_purpose'] == loan_purpose) & (df['loan_amount'].isin(target_loan_amounts))]
补充说明
- 如果从用户处获取的
loan_amount本身就是列表类型,直接传入isin()即可,无需额外定义新变量。 isin()支持列表、元组等多种可迭代对象,能适配不同的输入场景。
内容的提问来源于stack exchange,提问作者sebastian
相关产品推荐
相关产品推荐

