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

如何在numpy中创建元素为向量的矩阵,实现二维列表按向量元素存储为行

NumPy创建元素为向量的矩阵实现方法

你需要的效果有两种主流实现方案,分别对应不同的使用场景:

方案1:使用高维数值数组(优先推荐)

这种方案可以保留NumPy的原生向量化运算能力,性能更优。你需要的「1行、2个向量元素」的结构本质上是形状为(1, 2, 2)的三维数组,第一维长度1代表行数,第二维长度2代表每行的元素个数,第三维长度2代表每个向量的长度。
实现代码如下:

import numpy as np

raw_data = [[1,2],[3,4]]
# 在原始二维数组的基础上新增行维度
target_arr = np.expand_dims(np.array(raw_data), axis=0)

# 验证效果
print(target_arr.shape)  # 输出:(1, 2, 2)
print(target_arr[0, 0])  # 取第一行第一个元素,输出:[1 2]
print(target_arr[0, 1])  # 取第一行第二个元素,输出:[3 4]

你也可以用索引语法直接新增维度:target_arr = np.array(raw_data)[np.newaxis, :],效果完全一致。

方案2:使用对象类型数组

如果你确实需要数组的直接元素就是独立的向量对象(比如后续需要修改单个向量的长度等场景),可以指定数组dtype为object,这种数组的形状就是(1,2),每个元素都是单独的NumPy向量。
实现代码如下:

import numpy as np

# 先创建指定形状的空对象数组
target_arr = np.empty((1, 2), dtype=object)
# 给每个位置赋值向量
target_arr[0, 0] = np.array([1,2])
target_arr[0, 1] = np.array([3,4])

# 验证效果
print(target_arr.shape)  # 输出:(1, 2)
print(type(target_arr[0, 0]))  # 输出:<class 'numpy.ndarray'>

注意:对象数组无法支持NumPy的批量数值运算,性能也远低于数值类型数组,非特殊需求不建议使用。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 12:18:02