如何从pandas.core.series.Series对象中随机选取3个数字?
解决方法
你的问题出在直接将pandas Series对象传入random.sample,这个方法更适配普通Python列表。以下两种方案可以解决:
方案1:将Series转为列表后使用random.sample
先把Series转换成普通列表,再调用标准库的随机采样方法:
import random sampled_list = random.sample(df['ID'].tolist(), 3)
方案2:使用pandas自带的sample方法(推荐)
pandas为Series/DataFrame提供了专门的随机采样接口,更适配pandas数据结构:
# 直接对Series采样3个元素,再转为列表 sampled_list = df['ID'].sample(n=3).tolist()
如果需要固定采样结果方便复现,可以添加random_state参数:
sampled_list = df['ID'].sample(n=3, random_state=42).tolist()
内容的提问来源于stack exchange,提问作者Dila
相关产品推荐
相关产品推荐

