如何为DataFrame按每n条记录分组添加循环递增索引
实现方案
核心逻辑是利用行序号对循环周期n取模后加1,即可得到1到n循环的序列。
完整代码示例
import pandas as pd # 构造测试用DataFrame(实际使用时替换为你自己的df即可) df = pd.DataFrame({ 'city': ['NYC', 'Jersey City', 'Hoboken', 'Buffalo', 'Philly', 'Edison', 'trenton'], 'id': [101, 102, 103, 104, 105, 106, 107] }) # 设置循环周期,示例为5 n = 5 # 新增循环索引列 df['index'] = (df.index % n) + 1
特殊情况处理
如果你的DataFrame原有索引不是从0开始的连续整数,可以用如下方式生成连续行序号计算,避免索引影响结果:
import numpy as np df['index'] = (np.arange(len(df)) % n) + 1
运行后得到的输出和你期望的效果完全一致。
内容的提问来源于stack exchange,提问作者user1125803
相关产品推荐
相关产品推荐

