python - 使用 numpy 对特定范围内的数组值求和
问题描述
因此,我尝试使用以下方法获取文本文件中特定范围值的总和:
np.sum(d[a:b])
我正在使用一个包含 10000 个条目的文本文件。我知道我们总是从零开始。所以我的范围很大,即;索引 200-555(包括 200 和 555)。我只是为了在小范围内测试求和:
In [17]: np.sum(d[1:4])
Out[17]: 50.164228
但是上面的代码从第二个块(python 标记为数字 1)到第三个块求和。数字是;(0-> 13.024), 1-> 17.4529, 2-> 16.9382, 3-> 15.7731,(4-> 11.7589), 5-> 14.5178。
零仅供参考,它忽略了 4-> 11.7589。为什么?
解决方案
在 Python 中使用范围索引时,第二个索引(在您的情况下为 4)不是包含索引。通过指定[1:4]
,您将从索引 1 到但不包括索引 4 的元素相加。如果要在索引 4 处包含元素,请指定 5 作为第二个索引。
推荐阅读
- r - 如何分配对象的值而不是对象的名称
- azure - 有没有办法通过 Azure 数据工厂将增量数据从 SQL Server 复制到 Blob 存储?
- python - 如何在python数据框中将多列转换为行?
- javascript - 斐波那契给我带来了问题,这段代码有什么问题?
- android - Gradle 构建失败并出现错误,但未打印此错误
- qt - 在 QGraphicsView 上添加多个 QGraphicsScene
- android - 用于检查位置服务的 Android 后台服务是否打开或关闭
- python - 如何在python类中获取“条目”的信息
- mmenu - 防止mmenu在页面加载时自动打开
- python - 如果在文件打开的情况下在内部循环:解析时出现意外的 EOF