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

如何用Pandas .loc保留指定列并筛选386816行数据?

Pandas筛选与列保留操作方案

场景1:筛选指定列(IDC_DC_CD_1)值为386816的行,同时保留目标三列

直接用loc方法一步完成列选择与行筛选,逻辑更清晰:

# 假设你的数据集存储在名为df的DataFrame中
filtered_data = df.loc[df['IDC_DC_CD_1'] == 386816, ['PERSON_WGHT', 'LOS', 'IDC_DC_CD_1']]

也可以拆分步骤写,方便理解:

# 先保留需要的三列
selected_cols = df[['PERSON_WGHT', 'LOS', 'IDC_DC_CD_1']]
# 再筛选出IDC_DC_CD_1等于386816的行
filtered_data = selected_cols[selected_cols['IDC_DC_CD_1'] == 386816]

场景2:筛选目标三列中任意一列值为386816的行

如果需要保留的三列里只要有一列值是386816就留下该行,用any()方法实现多条件或判断:

cols_to_keep = ['PERSON_WGHT', 'LOS', 'IDC_DC_CD_1']
# 检查目标列中是否有等于386816的值,只要有一列满足就保留该行
filtered_data = df[cols_to_keep][df[cols_to_keep].eq(386816).any(axis=1)]

关键注意点

  • 确认386816的类型和列中数据类型匹配:如果列里是字符串格式,要写成'386816'
  • 若数据存在缺失值,可先通过df.dropna(subset=cols_to_keep)清理,避免筛选逻辑出错

内容的提问来源于stack exchange,提问作者Black-Cat

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 07:25:14