如何按初始尝试方式创建3×4的0-100随机整数numpy数组?
如何按初始思路创建3×4的NumPy数组?
你的代码报错的核心原因是:np.array()只接受1到2个位置参数,但你直接传入了4个独立的列表。np.array()要求第一个参数是单个嵌套结构(比如包含多个子列表的大列表),而不是多个分开的列表参数。
要按你的初始思路完成,只需要把所有行对应的子列表包裹在一个外层大列表里,同时保证每个子列表的元素数量统一为4(因为要生成3×4的数组),修正后的代码如下:
import numpy as np rand_0_100 = np.random.randint(low=0, high=101, size=(12)) my_data = np.array([ [rand_0_100[0], rand_0_100[1], rand_0_100[2], rand_0_100[3]], [rand_0_100[4], rand_0_100[5], rand_0_100[6], rand_0_100[7]], [rand_0_100[8], rand_0_100[9], rand_0_100[10], rand_0_100[11]] ])
这样调整后,np.array()接收的是一个包含3个子列表的大列表,每个子列表有4个元素,就能正确生成3×4的二维整数数组。
另外补充一个更简洁的替代方案(从一维数组转换的角度):可以用reshape方法直接把一维数组转成目标形状,代码更简洁:
my_data = rand_0_100.reshape(3, 4)
内容的提问来源于stack exchange,提问作者Albertofma
相关产品推荐
相关产品推荐

