为什么这个 Python 数组没有切片?
Why is this Python array not slicing?
初始数据为:
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)
然后我将它转换为二维数组
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 是我期望的步数 [0.0417634, ... paa[11], .... paa[21] .... ]
np.mean
将 return 一个 np.array
。您正在获取结果并将其附加到 list
中。当你对它进行切片时,你会得到 paa
中的 0th
(而且只有)元素,这是一个完整的 np.array
.
摆脱 list
并直接附加和切片到均值的结果中。
初始数据为:
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)
然后我将它转换为二维数组
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 是我期望的步数 [0.0417634, ... paa[11], .... paa[21] .... ]
np.mean
将 return 一个 np.array
。您正在获取结果并将其附加到 list
中。当你对它进行切片时,你会得到 paa
中的 0th
(而且只有)元素,这是一个完整的 np.array
.
摆脱 list
并直接附加和切片到均值的结果中。