You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于指定值列表创建过滤后的新Pandas DataFrame

筛选DataFrame指定行的实现方法

你可以使用pandas内置的isin()方法快速完成需求,操作如下:

核心代码

new_df = df[df['fruit'].isin(x1)].reset_index(drop=True)

代码说明

  • df['fruit'].isin(x1) 会生成一个布尔序列,fruit列值存在于x1列表中的位置返回True,否则返回False
  • 用这个布尔序列对原DataFrame做切片,即可筛选出所有符合条件的行
  • reset_index(drop=True)为可选操作,作用是将新生成的DataFrame的行索引重置为从0开始的连续整数,匹配你给出的预期输出格式;如果需要保留原始行的索引,删除这部分代码即可。

完整复现代码

你可以直接运行以下代码验证效果:

import pandas as pd

# 你指定的筛选值数组
x1 = ['apple', 'orange', 'banana']

# 构造原始DataFrame
df = pd.DataFrame(
    data=[
        ['apple', True, False],
        ['pineapple', False, True],
        ['orange', True, True],
        ['banana', True, True],
        ['pear', True, True]
    ],
    columns=['fruit', 'foo', 'bar']
)

# 执行筛选
new_df = df[df['fruit'].isin(x1)].reset_index(drop=True)
print(new_df)

运行后输出结果和你给出的预期输出完全一致。

内容的提问来源于stack exchange,提问作者Jay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 07:06:01