python - 为什么这个 Python 数组不切片?
问题描述
初始数据为:
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 是我期望的步骤的 nr [0.0417634, ... paa[11], .... paa[21] .... ]
解决方案
np.mean
将返回一个np.array
. 您正在获取结果并将其附加到list
. 当你对它进行切片时,你会得到0th
(也是唯一的)元素paa
,它是一个完整的np.array
.
去掉list
并附加并直接切片到均值的结果中。
推荐阅读
- php - 如何正确运行大型进程的队列(导入大型 excel 文件)?
- c++ - 如何使用 valgrind?
- python-3.x - Pandas:如何降低每个索引组的最低第 5 个百分位数?
- java - Hibernate 5.x 内存泄漏 - 看起来像 HQL 查询缓存?
- java - java - 如何在使用java时访问名称中包含空格字符的文件?
- javascript - JavaScript (es6) haskel where 替代
- amazon-web-services - 在 bitbucket 中实现 CI/CD 管道
- sql - MariaDB如何管理临时表?
- node.js - 写回 json 但分配为变量
- python - 关于布尔变量的 Django 模板过滤器