numpy 我如何np.sqrt数组中的第一列,而不去管第二列?

cyvaqqii  于 2023-06-23  发布在  其他
关注(0)|答案(1)|浏览(126)

我试图平方根整个第一列,而留下第二列单独。这是我当前的数组。Q14 = Q13.copy输出如下:

array([[124609.,    349.],
       [ 46225.,    228.],
       [ 50176.,    215.],
       ...,
       [ 51984.,    224.],
       [ 46225.,    228.],
       [ 50176.,    215.]])

数组是(406080, 2)。我试过Q14 = np.sqrt(Q14[:,0])
我得到了错误

IndexError: too many indices for array: array is 1-dimensional, but 2 were indexed.

我相信这是一个2-D数组,所以不确定为什么会出现这个错误。任何帮助将不胜感激。

roejwanj

roejwanj1#

从您的样品:

In [24]: data = np.array([[124609.,    349.], [ 46225.,    228.], [ 50176.,    215.], [ 51984.,    224.], [ 46225.,    228.], [ 50176.,    215.]])

仔细检查形状:

In [25]: data.shape
Out[25]: (6, 2)

In [26]: data
Out[26]: 
array([[124609.,    349.],
       [ 46225.,    228.],
       [ 50176.,    215.],
       [ 51984.,    224.],
       [ 46225.,    228.],
       [ 50176.,    215.]])

将sqrt应用于第一列:

In [27]: data[:,0] = np.sqrt(data[:,0])

In [28]: data
Out[28]: 
array([[353., 349.],
       [215., 228.],
       [224., 215.],
       [228., 224.],
       [215., 228.],
       [224., 215.]])

如果你得到的错误违背了你的信念,I believe this is a 2-D array,仔细检查这个信念。不要假设-验证;

相关问题