【发布时间】:2019-08-18 19:10:18
【问题描述】:
我正在尝试使用一个名为噪声的随机数数组构建一个带有 numpy 的矩阵,该数组具有 4 个值,应该乘以一个名为“因子”的数组中的 8 个不同数字,从而在最终矩阵中产生 8 行。
因此,“噪声”中的每个值的矩阵应该有 4 列,每个因子应该有 8 行。 我不知道如何实现。
这是我得到的代码:
import numpy as np
from numpy import random
n = 4
noise = np.random.normal(size=n)
matrix = np.zeros((8,n)) # Pre-allocate matrix
for i in range(1,8):
matrix[:,i] = [[noise]*i]
print(matrix)
我收到错误消息:
ValueError: setting an array element with a sequence.
【问题讨论】:
-
所以
matrix是 (8,n) 和matrix[:,i]是 (n,) 形状。noise是 (n,) 形状。但是[[noise]*i]的形状是什么。它其实是一个列表,但是当变成一个数组时,它是什么?
标签: python arrays loops numpy matrix