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

如何按步长20从DataFrame的指定列中随机选取5行?

解决方案

核心思路

要满足「5行目标列数值步长为20」的要求,本质是要选取一组等差为20的5个连续整数(形如x, x+20, x+40, x+60, x+80),且最大数不超过100,因此起始值x只能在1-20之间。我们先随机生成这个起始值,再筛选对应行即可。

代码实现(基于Pandas)

假设你的数据集已加载到dataset变量中,目标列名为target_col(替换为实际列名):

import pandas as pd
import numpy as np

# 1. 随机生成符合要求的起始值(1到20之间的整数)
start_val = np.random.randint(1, 21)

# 2. 生成步长为20的数值序列
selected_values = [start_val + 20 * i for i in range(5)]

# 3. 从数据集中筛选出目标列包含这些数值的行
selected_rows = dataset[dataset['target_col'].isin(selected_values)]

# 可选:如果需要打乱选中行的顺序
selected_rows = selected_rows.sample(frac=1).reset_index(drop=True)

为什么之前的方法不生效

  • dataset.sample(n=5)是纯随机选行,无法约束目标列数值的步长规则;
  • range/np.arange仅能生成固定序列,没有结合「随机起始值」和「数据集筛选」的逻辑,因此无法匹配需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 03:35:24