Python 为从简单列表创建的numpy数组指定形状
我有一张号码表Python 为从简单列表创建的numpy数组指定形状,python,arrays,numpy,Python,Arrays,Numpy,我有一张号码表 mylist = [0, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29] 我在numpy数组中转换了mylist import numpy as np mylist_np = np.array(mylist) array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
mylist = [0, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]
我在numpy数组中转换了mylist
import numpy as np
mylist_np = np.array(mylist)
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29])
我希望将阵列的形状设置为:
array([[0, 1,2,3,4,5,6,7,8,9],
[10,11,12,13,14,15,16,17,18,19],
[20,21,22,23,24,25,26,27,28,29]])
Numpy不支持不规则数组(至少在不破坏某些基本方法的结果的情况下) 如果你的数组是
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29])
然后可以通过以下方式对其进行重塑:
np.reshape(mylist_np, (3,10))
但是为什么要用numpy呢?您可以使用以下方法设置阵列形状:
my_list = [range(max(a,1),a+10) for a in range(0,30,10)]
你想在每个“9”上拆分它吗?然后你需要加零,这样你的行就有了相等的长度。很抱歉,使用np.reformate(mylist_np,(3,10))我得到一条错误消息:ValueError:新数组的总大小必须保持不变。你试过你的密码了吗?是的。您是否注意到当前阵列无法执行此操作?哦,是的,抱歉。我理解我的错误