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

Pandas如何抽取1000个唯一用户的全部行数据?

抽取1000个唯一用户及其全部行数据的解决方案

需求

从数据集中随机抽取1000个唯一用户,并提取这些用户的所有行数据。

输入数据示例

User_IDShip Date
A4548/2/2019
A4549/2/2019
G6589/2/2019
G6589/2/2019

原代码问题

你之前的代码df['User_ID'].sample(n=1000, random_state=1)只能拿到1000个User_ID样本,既无法关联到这些用户的全部行数据,还可能因为原数据中User_ID重复,抽到同一个用户多次,达不到“1000个唯一用户”的要求。

解决代码

import pandas as pd

# 第一步:从唯一用户集合中抽样1000个ID
sampled_user_ids = df['User_ID'].drop_duplicates().sample(n=1000, random_state=1).tolist()

# 第二步:筛选出这些用户的所有行数据
result_df = df[df['User_ID'].isin(sampled_user_ids)]

代码说明

  • drop_duplicates():先清洗User_ID列的重复值,确保抽样源是无重复的用户集合;
  • sample(n=1000, random_state=1):从唯一用户中随机选取1000个,random_state=1保证每次运行结果一致,方便复现;
  • isin(sampled_user_ids):过滤原DataFrame,只保留User_ID在抽样列表中的所有行,这样就能拿到每个抽样用户的全部数据。

验证示例

如果在示例数据中抽样选中A454,result_df会包含该用户的两行数据,完全符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 20:48:14