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

筛选DataFrame:保留含type为new的ID的全部记录

筛选DataFrame:保留包含"new"类型的ID的所有记录

原始DataFrame

id        type
1         new
2         new
2         new repeater
2         repeater
3         repeater
4         new
4         new repeater
5         new repeater
5         repeater
6         new

需求

仅保留那些ID对应的type列中至少存在一个"new"值的所有记录。

预期结果

id        type
1         new
2         new
2         new repeater
2         repeater
4         new
4         new repeater
6         new

解决方案(Pandas)

import pandas as pd

# 构造原始数据
df = pd.DataFrame({
    'id': [1, 2, 2, 2, 3, 4, 4, 5, 5, 6],
    'type': ['new', 'new', 'new repeater', 'repeater', 'repeater', 'new', 'new repeater', 'new repeater', 'repeater', 'new']
})

# 第一步:找出所有包含"new"类型的ID
valid_ids = df[df['type'].str.contains('new')]['id'].unique()

# 第二步:筛选出这些ID的所有记录
filtered_df = df[df['id'].isin(valid_ids)]

# 输出结果
print(filtered_df)

说明

  1. 用str.contains('new')定位type列含"new"的行,提取这些行的id并去重,得到有效ID集合
  2. 通过isin(valid_ids)筛选原始DataFrame中所有属于有效ID的记录,确保只要某个ID存在至少一行"new"类型,就保留该ID的全部行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 09:01:36