【问题标题】:Assign numpy ndarray to list将 numpy ndarray 分配给列表
【发布时间】:2019-05-09 11:02:22
【问题描述】:

谁能帮我解答我的问题。我创建了一个循环,它在每次执行时都会产生一个大小为 (5,) 的 numpy.ndarray,但是当循环终止并且我想打印我的代码的结果时,它只打印最后一个大小为 5 的 ndarry,我试图分配结果是一个列表,但我得到“数组索引太多”

k=0;
for i in range(M):
    for j in range(N):
        if table[i, j] != 0:
            k=k+1;
            inv=np.linalg.inv(np.dot(X.T,X));
            theta[k,:] = np.dot(inv,X.T).dot(HSI[i,j,:])

我想在 theta[] 上分配结果,所以如果我想打印第二次执行的结果,我会写 theta[1] 等等。

我的错误很可能在最后一行

【问题讨论】:

  • 嗨,欢迎来到 StackOverflow。您可以在列表中创建一个空列表l = []l.append(result)。在您的代码中,MNtableXthetaHSI 是什么?如果您提供可运行的代码,我们更容易为您提供帮助。请参阅How to askHow to create a MCVE
  • 这个问题我很难理解。您能否发布一个我可以在本地运行的示例,其中定义了 M、N、X、HSI 和表?您能否更清楚地说明您的实际要求?

标签: python pandas loops numpy


【解决方案1】:

速写,可根据需要修改

import random

a=[] #start with an empty set
k=0
while k< 5:
    b=random.sample(range(1,100), 5) #get a random sample of length 5 within range of 1-100
    a.append(b) # add/'append' b to your currently empty set of 'a'
    print a #print current contents of 'a'
    k=k+1

我没有运行它,但它看起来很直观。

祝你好运!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-07
    • 2015-09-16
    • 2018-07-28
    • 2012-06-10
    • 1970-01-01
    • 1970-01-01
    • 2017-10-05
    相关资源
    最近更新 更多