如何将DataFrame按15行分组后的编号从0起始改为1起始?
修改分组编号为从1起始的解决方案
只需要对生成group列的代码做一点调整,同时更新分组列表的生成逻辑即可:
修改后的完整代码
# 随机打乱数据 df = df.sample(frac=1).reset_index(drop=True) # 指定分组大小 SIZE = 15 # 创建从1起始的分组编号列 df['group'] = (df.index // SIZE) + 1 # 生成分组列表 groups = [ df[df['group'] == num] for num in range(1, df['group'].max() + 1)] # 输出到CSV df.to_csv('output.csv')
关键修改说明
- 分组编号从1起始:把原来的
df.index // SIZE改为(df.index // SIZE) + 1,这样第一组(前15行)的编号就变成1,第二组变成2,以此类推。 - 更新分组列表生成逻辑:因为现在分组编号从1开始,所以
range的起始值要从1开始,而不是原来的0,确保能遍历到所有分组编号。
这样修改后,分组编号会从1开始,同时保留原代码的随机打乱、分组功能,输出的CSV里group列也会是从1起始的编号。
内容的提问来源于stack exchange,提问作者Linter
相关产品推荐
相关产品推荐

