如何按列累积numpy数组中的值?

2024-01-03

我如何使用numpy累加器 http://docs.scipy.org/doc/numpy-dev/reference/generated/numpy.ufunc.accumulate.html#numpy.ufunc.accumulate and add http://docs.scipy.org/doc/numpy-dev/reference/generated/numpy.add.html#numpy.add逐列添加数组以制作基本累加器的函数?

   import numpy as np
   a = np.array([1,1,1])
   b = np.array([2,2,2])
   c = np.array([3,3,3])
   two_dim = np.array([a,b,c])
   y = np.array([0,0,0])
   for x in two_dim:
     y = np.add.accumulate(x,axis=0,out=y)                               
     return y

实际输出:[1,2,3]期望的输出:[6,6,6]

numpy 术语表说沿轴求和 http://docs.scipy.org/doc/numpy-dev/glossary.html#term-along-an-axis争论axis=1对行求和:“我们可以对数组的每一行求和,在这种情况下我们沿着列或轴 1 进行操作”。

“二维数组有两个相应的轴:第一个轴垂直向下穿过行(轴 0),第二个轴水平穿过列(轴 1)”

With axis=1我期望输出[3,6,9],但这也会返回[1,2,3].

当然!x 和 y 都不是二维的。

我究竟做错了什么?

我可以手动使用np.add()

aa = np.array([1,1,1])
bb = np.array([2,2,2])
cc = np.array([3,3,3])
yy = np.array([0,0,0])
l = np.add(aa,yy)
m = np.add(bb,l)
n = np.add(cc,m)
print n

现在我得到了正确的输出,[6,6,6]


I think

two_dim.sum(axis=0)
# [6 6 6]

会给你你想要的。

我不认为accumulate是您正在寻找的,因为它提供了正在运行的操作,因此,使用add它看起来像:

np.add.accumulate(two_dim)

[[1 1 1]
 [3 3 3]    # = 1+2
 [6 6 6]]   # = 1+2+3

reduce更像是你所描述的:

np.add.reduce(two_dim)

[6 6 6]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何按列累积numpy数组中的值? 的相关文章

  • 如何向 Jupyter (ipython) 笔记本自动添加扩展?

    我已经安装了扩展 calico document tools 我可以使用以下命令从 Jupyter 笔记本中加载它 javascript IPython load extensions calico document tools 如何为每个
  • 如何在我的 GUI 上绘图

    我正在设计一个 GUIPyQt当我单击一个按钮来绘制我创建的函数的数据图时 我需要显示一个 matplotlib pylab 窗口 它就像 Matlab 中使用的运行时 每次按下该按钮时 我都想将 matplotlib pylab 窗口保留
  • 在Python中将月份和年份的列合并为季度和年份的列

    我有一个数据框 df Month 1 8 Year 2015 2020 df pd DataFrame data df df 想要将其转变为新列 期望的输出 df Month 1 8 Year 2015 2020 Quarter Q1201
  • 将 gtk.DrawingArea 保存到文件

    我想使用 PIL 将 gtk DrawingArea 对象内容保存到 jpeg 文件 我特别想添加这个脚本 http pygstdocs berlios de pygst tutorial webcam viewer html制作照片的可能
  • 过滤给定范围内的坐标

    我有数百个带有地理位置的 out 文件 我将把它们批量导入到 SQLite 数据库中 但是 为了节省时间 我只会导入地理坐标在某些间隔内的线 文件是这样的 value value longitude latitude value value
  • 折叠 numpy 数组除前两个维度之外的所有维度

    我有一个可变维度的 numpy 数组 例如它可以具有以下形状 64 64 64 64 2 5 64 64 40 64 64 10 20 4 我想要做的是 如果维数大于 3 我想将其他所有内容折叠 堆叠到第三维中 同时保留顺序 因此 在我上面
  • Python - 从一定范围内随机采样,同时避免某些值

    我一直在阅读有关random sample 函数在random模块 但没有看到任何可以解决我的问题的东西 我知道使用random sample range 1 100 5 会给我来自 人群 的 5 个独特样本 我想得到一个随机数range
  • 抓取 Shopee API v4

    我有一个最终项目 其中我想要检索的数据是通过在shopee上抓取数据来获取的 但是当我在隐藏的API上抓取shopee时遇到问题 当我在Insomnia脚本上尝试时 脚本会运行 但是当我尝试时在本地或 google colab 脚本上 这是
  • Python for 循环前瞻

    我有一个 python for 循环 其中我需要向前查看一项以查看在处理之前是否需要执行某项操作 for line in file if the start of the next line 0 perform pre processing
  • 如何使用 opencv python 根据检测到的物体的位置生成其热图

    我需要根据对象的位置生成其热图 示例 视频帧中检测到的绿色球 如果它长时间停留在某个位置 那么该位置应该是红色的 并且球在短时间内经过的帧中的位置必须是蓝色的 这样我就需要生成热图 提前致谢 那么你在这里可以做的是 1 首先定义一个热图作为
  • tkinter 库 treectrl 转换为 exe 安装程序时出现 cx_freeze 错误

    我使用的是 python 版本 3 7 我使用了这个名为 treectrl 的外部库 当我运行 py 文件时它工作得很好 但是当我使用 cx freeze 转换为 exe 文件时 它给了我错误 NomodulleFound 名为 tkint
  • 如何限制单元测试的最大运行时间?

    我目前正在运行一些单元测试 这些测试可能需要很长时间才能失败或无限期地运行 在成功的测试运行中 它们总是会在一定的时间内完成 是否可以创建一个 pytest 单元测试 如果在一定时间内未完成 该测试就会失败 您可以安装 pytest tim
  • 确定对角线周围的边界矩形

    用户将在屏幕上定义一条线 绘制时该线将具有给定的粗细 or width I now need to be able to determine the coordinates of a bounding rectangle around th
  • ModuleNotFoundError:尽管已安装,但没有名为“PyDIP”的模块

    尝试使用图像识别 我安装了带有 OpenCV 的 Python 如下本教程 https www pyimagesearch com 2018 08 15 how to install opencv 4 on ubuntu 后来 我决定尝试一
  • SIGINT 后保存工作

    我有一个需要很长时间才能完成的程序 我想 它能够抓住SIGINT ctrl c 并调用self save work method 就目前情况而言 我的signal hander 不起作用 因为self不是由程序到达的时间定义的signal
  • 如何在 Windows 中使用 pypy 作为 CPython Jupyter 的内核?

    我使用以下命令安装了 pythonAnaconda 安装程序 http anaconda 20installer我很高兴使用它附带的 Jupyter 版本 我也下载了 32 位 windows 版本的 pypy https bitbucke
  • Python 中“public static void main”的等价物

    Python 中 public static void main String args 的等价物是什么 我记得以前用过 后来就忘记了 我基本上想要记住的是一个我认为包含一些下划线 的函数 thx usr bin env python im
  • 非英语语言(CJK 等)中的 n 元语法名称分析

    我正在致力于对人员数据库进行重复数据删除 对于第一遍 我遵循基本的两步过程 以避免对整个数据库进行 O n 2 操作 如所述在文献中 http nike psu edu publications jcdl05 pdf 首先 我 阻止 迭代整
  • 我可以从 multiprocessing.Process 获取返回值吗?

    我使用 Python 多处理模块在蒙特卡罗代码中实现了一些简单的并行性 我的代码看起来像 montecarlos MonteCarlo f fargs for fargs in farglist jobs multiprocessing P
  • 如何将列表中的每个元素除以 int?

    我只想将列表中的每个元素除以一个 int myList 10 20 30 40 50 60 70 80 90 myInt 10 newList myList myInt 这是错误 TypeError unsupported operand

随机推荐