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

Python Pandas:如何按列过滤条件将符合要求的行复制到新DataFrame

问题原因

你当前编写的代码仅会判断df1的Loc列中是否存在值为US的行,只要存在就将完整的df1直接赋值给df2,没有做任何行过滤操作,因此输出和原df1完全一致。

正确实现方法

方法1:布尔索引筛选(最常用)

直接通过列条件生成布尔序列筛选对应行,示例代码如下:

# 筛选Loc列等于US的行,加copy()避免后续修改df2影响原df1
df2 = df1[df1['Loc'] == 'US'].copy()

如果需要让生成的df2的行索引从0开始连续排列,可以追加重置索引的操作:

df2 = df1[df1['Loc'] == 'US'].reset_index(drop=True)

方法2:query方法(可读性更高)

如果偏好更简洁的写法,可以用pandas的query方法实现同等效果:

df2 = df1.query("Loc == 'US'").copy()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 02:24:02