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

如何用for循环提取二维NumPy数组第3项并分割(4061,3)数组为(1,3)子数组

将(4061,3) NumPy数组分割为(1,3)子数组并存入列表

假设你的二维数组名为arr,可以通过遍历数组的每一行,调整形状后存入列表:

import numpy as np

# 生成模拟的(4061, 3)数组
arr = np.random.rand(4061, 3)
sub_array_list = []

for row in arr:
    # 将(3,)的行转换为(1,3)的子数组
    sub_arr = row[np.newaxis, :]
    sub_array_list.append(sub_arr)

也可以用reshape实现相同的形状转换:

sub_arr = row.reshape(1, 3)

遍历结束后,sub_array_list中就包含了4061个形状为(1,3)的NumPy子数组。


用for循环提取二维NumPy数组的每第3个元素

以下分两种常见场景说明:

提取每行的第3个元素(索引从0开始,对应索引2)

row_third_elements = []
for row in arr:
    # 取当前行的第3个元素
    elem = row[2]
    row_third_elements.append(elem)

提取数组中每第3行的全部元素

every_third_row_list = []
# 从第0行开始,每隔3行取一次
for idx in range(0, arr.shape[0], 3):
    target_row = arr[idx]
    every_third_row_list.append(target_row)
# 若需要保持(1,3)形状,可添加形状调整:
# every_third_row_list.append(target_row[np.newaxis, :])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 03:24:27