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

如何为NumPy数组新增索引列实现每10行分组编号功能?

实现方案

直接操作NumPy数组(无需转DataFrame)

  • 核心逻辑和你之前DataFrame的处理逻辑完全对齐,用np.arange生成和行数匹配的0基序列替代DataFrame索引做分组计算,再将生成的组号列拼接到数组首列即可,代码如下:
import numpy as np

# 假设你的原uint8数组变量名为arr
rows_num = arr.shape[0]
# 生成组号,同步转换为uint8类型和原数组格式统一
group_col = ((np.arange(rows_num) // 10) + 1).astype(np.uint8)
# 把一维组号转成二维列向量后,拼接在原数组左侧
result_arr = np.hstack([group_col.reshape(-1, 1), arr])

若后续需要用DataFrame处理,可直接兼容你之前的写法

  • 只需要先把NumPy数组转成DataFrame,再套用你原来的代码即可,示例:
import pandas as pd
import numpy as np

# arr为原uint8数组
df = pd.DataFrame(arr)
df.insert(0, 'Data', (df.index // 10) + 1)

注:两种方案都和你原有逻辑一致,若数组行数不是10的整数倍,最后不足10行的内容会自动归为最后一组。如果你的数据行数超过2550,组号最大值会超过uint8的取值上限(0~255),可根据需要将group_col的类型替换为np.uint16等更大取值范围的类型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 23:54:07