python - 迭代多维 Numpy 数组并除以
问题描述
假设您有一个形状为 (100,3) 的多维 Numpy 数组。例如,这是前 5 行(头部):
array([[ 255.16 , 336.7 , 2479.9 ],
[ 249.98 , 329.48 , 2451.32 ],
[ 247.76 , 325.9 , 2422.52 ],
[ 245.22 , 325.78 , 2395.02 ],
[ 248.125, 330.38 , 2435.31 ]])
你将如何使用 numpy 遍历每一行并除以前一行。例如,249.98 / 255.16。然后是 247.76 / 249.98。
对每一列都这样做,比如说,我们完成了第一列,现在我们想做第二列,329.48 / 336.7。然后是 325.9 / 329.48。
解决方案
假设您的数组被调用,也许这样的事情matrix
:
>>> np.array([matrix[i+1]/matrix[i] for i in range(matrix.shape[0]-1)])
array([[0.97969901, 0.97855658, 0.98847534],
[0.99111929, 0.98913439, 0.98825123],
[0.98974814, 0.99963179, 0.98864818],
[1.01184651, 1.01411996, 1.01682241]])
推荐阅读
- r - R包开发——在帮助文件中添加图片?PackageName
- c# - C# label.text 在按钮单击时不会更改
- node.js - Discord.js 音乐机器人不响应第一个音乐请求
- java - 如何在关键短语之间获取字符串的某个部分(java)
- python - Python 无法访问命令行参数
- flutter - 可滚动屏幕 - Flutter
- python - OpenCV Python-过滤矩形以找到微型汽车的道路中心线
- javascript - ajax 没有获取会话
- php - Laravel 验证 - 不同的数组字段不起作用
- django - Django 模型字段未显示在管理页面中