繁体   English   中英

用每列另一个一维数组填充 python 中的二维数组值

[英]Fill 2d array value in python with another 1d array per column

我有这段代码:

series =[]
list = type.groupby('level').size()

该列表相等 = [20,40,40]

所以,我想要这个循环:

series[0:3]=list

直到这里,它的工作,但我想要 2d 矩阵,所以我可以为每个循环保存该列表值。 矩阵b=np.zeros((3,15))

for i in range (15):
    matrix[0:3][i]=series[0:3]

它不起作用, could not broadcast input array from shape (3,) into shape (15,)

你不能执行这样的任务。 您需要将它们分解为:

for i in range (15):
    matrix[0][i] = series[0]
    matrix[1][i] = series[1]
    matrix[2][i] = series[2]    

你实际上可以这样做:

list = [20, 40, 40]
series = list.copy()
matrix = np.zeros((3,15))

for i in range(15):
    matrix[:,i] = series

给出matrix

[[20. 20. 20. 20. 20. 20. 20. 20. 20. 20. 20. 20. 20. 20. 20.]
 [40. 40. 40. 40. 40. 40. 40. 40. 40. 40. 40. 40. 40. 40. 40.]
 [40. 40. 40. 40. 40. 40. 40. 40. 40. 40. 40. 40. 40. 40. 40.]]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM