Python Can';t打印数组中的一行我得到的数组错误索引太多?

Python Can';t打印数组中的一行我得到的数组错误索引太多?,python,arrays,list,numpy,printing,Python,Arrays,List,Numpy,Printing,我正试图打印出一行数组,下面的代码运行良好 a = np.array([[1,2,6],[4,5,8],[8,3,5],[6,5,4]]) #Print second row print(a[1,:]) 我的数组有点复杂(100行8列) 这是我的代码,当我想打印第二列时,我得到一个错误,说索引太多 import numpy as np for i in np.arange(0, 106, 1.060606061):

我正试图打印出一行数组,下面的代码运行良好

a = np.array([[1,2,6],[4,5,8],[8,3,5],[6,5,4]])
#Print second row
print(a[1,:])
我的数组有点复杂(100行8列)

这是我的代码,当我想打印第二列时,我得到一个错误,说索引太多

import numpy as np
for i in np.arange(0, 106, 1.060606061):
   
                                        
    wl0 = 7.906e-07*i**4 - 0.0001709*i**3 + 0.009718*i**2 - 0.05276*i + 0.06008
    wl05 = 3.956e-07*i**4 - 8.837e-05*i**3 + 0.003919*i**2 + 0.1048*i - 0.1198
    wl1 = 1.122e-07*i**4 - 2.857e-05*i**3 - 0.0002459*i**2 + 0.2124*i - 0.271
    wl2 = -1.515e-07*i**4 + 2.998e-05*i**3 - 0.004428*i**2 + 0.3117*i - 0.3906
    wl3 = -3.898e-07*i**4 + 8.275e-05*i**3 - 0.008118*i**2 + 0.3918*i - 0.3196
    wl4 = -6.135e-07*i**4 + 0.0001285*i**3 - 0.01082*i**2 + 0.4195*i + 0.5945
    wl5 = -6.745e-07*i**4 + 0.0001367*i**3 - 0.01061*i**2 + 0.3661*i + 2.028
    wl6 = -7.106e-07*i**4 + 0.0001407*i**3 - 0.01027*i**2 + 0.3217*i + 3.049
     
    new = np.array([wl0, wl05, wl1, wl2, wl3, wl4, wl5, wl6])
    
    print(new[1,:])
  
还尝试了以下代码

new = np.array([[wl0], [wl05], [wl1], [wl2], [wl3], [wl4], [wl5], [wl6] ])

但它仍然不起作用。我只想打印一行(在本例中是第二行。这并不重要,因为我将一行一行地打印所有行)

我想。。这应该行得通

import numpy as np
new=[]
for i in np.arange(0, 106, 1.060606061):
    wl0 = 7.906e-07*i**4 - 0.0001709*i**3 + 0.009718*i**2 - 0.05276*i + 0.06008
    wl05 = 3.956e-07*i**4 - 8.837e-05*i**3 + 0.003919*i**2 + 0.1048*i - 0.1198
    wl1 = 1.122e-07*i**4 - 2.857e-05*i**3 - 0.0002459*i**2 + 0.2124*i - 0.271
    wl2 = -1.515e-07*i**4 + 2.998e-05*i**3 - 0.004428*i**2 + 0.3117*i - 0.3906
    wl3 = -3.898e-07*i**4 + 8.275e-05*i**3 - 0.008118*i**2 + 0.3918*i - 0.3196
    wl4 = -6.135e-07*i**4 + 0.0001285*i**3 - 0.01082*i**2 + 0.4195*i + 0.5945
    wl5 = -6.745e-07*i**4 + 0.0001367*i**3 - 0.01061*i**2 + 0.3661*i + 2.028
    wl6 = -7.106e-07*i**4 + 0.0001407*i**3 - 0.01027*i**2 + 0.3217*i + 3.049
    new.append([wl0, wl05, wl1, wl2, wl3, wl4, wl5, wl6])
new=np.asarray(new)    
print(new[1,:])
输出:

[ 0.01485117 -0.00434499 -0.04603783 -0.06495451  0.08691187  1.02740552  2.40451508  3.37881136]

看起来所有的
w..
都是标量,因此
new
是一个具有形状(10,)的一维数组。检查
形状
数据类型
。您还可以为每个
i
创建一个新的
new
,而不保留以前的
i
。将
a.shape
new.shape
进行比较!为什么是无点的
i
s?这些不是在乌克兰使用的吗?它工作得很好,但我不明白背后的想法?你的numpy数组只是一个1d数组,没有索引1。尝试采用新阵列的形状。你会明白的。您正在创建仅包含1组w*值的数组。如果需要多维数组,则需要不断追加。