如何在Excel或Pandas中生成重复的奇数序列至20000/20001
Excel 生成重复奇数序列方案
- 公式填充法:
在目标列第一个单元格(如A1)输入公式=2*INT((ROW()-1)/2)+1,下拉填充至所需行数。这个公式通过相对行号计算,每两行输出同一个奇数,完美匹配1,1,3,3...的规律。 - 快速识别填充法:
手动输入前4个值1,1,3,3,选中这四个单元格,拖动右下角填充柄下拉,Excel会自动识别重复奇数的序列规律,自动填充至数值达到20001为止。
Pandas 生成重复奇数序列方案
你之前的代码错误在于逻辑偏差,df.index//1等价于索引本身,加2后必然得到偶数。以下是两种可行方案:
- 基于索引直接计算:
核心逻辑是将索引每2个分组(df['ABC'] = 2 * (df.index // 2) + 1df.index//2),每组对应一个奇数,乘2加1后生成重复两次的奇数序列,适配任意长度的DataFrame。 - 生成指定范围的序列:
如果需要序列最终数值不超过20001,可先生成完整序列再赋值:
若需序列不超过20000,将max_odd = 20001 # 生成每个奇数重复两次的序列 seq = [] for num in range(1, max_odd + 1, 2): seq += [num, num] # 适配DataFrame长度,截取对应部分 df['ABC'] = seq[:len(df)]max_odd改为19999即可。
内容的提问来源于stack exchange,提问作者Rahul
相关产品推荐
相关产品推荐

