为什么这个Python数组不切片?

问题描述 投票:0回答:1

初始数据是:

array([[0.0417634 ],
   [0.04493844],
   [0.04932728],
   [0.04601787],
   [0.04511007],
   [0.04312284],
   [0.0451733 ],
   [0.04560687],
   [0.04263394],
   [0.04183227],
   [0.048634  ],
   [0.05198746],
   [0.05615724],
   [0.05787913], dtype=float32)

然后我将其转换为2d数组

array2d = np.reshape(dataset, (-1, 2))

现在我有

array([[0.0417634 , 0.04493844],
   [0.04932728, 0.04601787],
   [0.04511007, 0.04312284],
   [0.0451733 , 0.04560687],
   [0.04263394, 0.04183227],
   [0.048634  , 0.05198746],
   [0.05615724, 0.05787913],
   [0.05989346, 0.0605077 ], dtype=float32)

现在我要计算数组每个元素之间的平均值

paa = []
paa.append(array2d.mean(axis=1))

现在我需要此列表中的间隔列表

intervals = paa[::10]
intervals

但是结果是相同的列表(paa)。为什么?已经尝试在np.array(paa)

中进行转换

期望元素较少的新列表。由于10是我期望的步骤的nr [0.0417634,... paa [11],.... paa [21] ....]

python list numpy slice intervals
1个回答
0
投票

np.mean将返回一个np.array。您正在获取结果并将其放在列表中。对其进行切片时,您将在paa中获得第0个(也是唯一的)元素,它是整个np.array。

摆脱列表并追加;只是直接切入均值的结果。

© www.soinside.com 2019 - 2024. All rights reserved.