首页 文章
  • 20 votes
     answers
     views

    Matlab相当于Numpy广播?

    我试图找到一些方法从Matlab中的3 *(一个大数字)矩阵的每一列中减去一个3号向量 . 当然我可以使用一个循环,但我试图找到一些更有效的解决方案,有点像numpy广播 . 哦,我不能使用repmat,因为我没有足够的内存来使用它(因为它创建了另一个3 *(一个大数字)矩阵)... 这可能吗?
  • 15 votes
     answers
     views

    Numpy阵列广播规则

    我在理解Numpy中阵列广播的规则时遇到了一些麻烦 . 显然,如果你在两个相同尺寸和形状的数组上执行逐元素乘法,一切都很好 . 此外,如果您将多维数组乘以标量,它就可以工作 . 我明白了 . 但是如果你有两个不同形状的N维阵列,那么我不清楚广播规则到底是什么 . 这个documentation/tutorial解释说:为了广播,操作中两个数组的 trailing axes 的大小必须是相同的大小,...
  • 4 votes
     answers
     views

    NumPy广播不起作用

    我试图广播两个向量之间的差异 . 这适用于这样一个简单的情况: In[1] : data = np.array([1,2]) In[2] : centers = np.array([[2,2],[3,3]]) In[3] : data - center Out[3] : array([[-1, 0], [-2, -1]]) 但是当我尝试做同样的事情但是尺寸更大...
  • 3 votes
     answers
     views

    Numpy Broadcasting Answer的解释

    我最近发布了一个问题here,答案完全按照我的要求回答 . 但是,我认为我高估了我进一步操纵答案的能力 . 我阅读了广播文档,并按照一些链接引导我回到2002年关于numpy广播 . 我使用broadcasting使用了第二种数组创建方法: N = 10 out = np.zeros((N**3,4),dtype=int) out[:,:3] = (np.arange(N**3)[:,None]/...
  • 4 votes
     answers
     views

    numpy如何按列广播

    我想通过np.array添加矩阵的每一列,但是numpy广播只允许通过np.array添加矩阵的每一行 . 怎么做?我的想法是首先转置矩阵然后添加数组然后转置,但它使用两个转置 . 是否有直接执行此功能的功能?
  • 4 votes
     answers
     views

    取消播放Numpy阵列

    在一个大的代码库中,我使用 np.broadcast_to 来广播数组(这里只使用简单的例子): In [1]: x = np.array([1,2,3]) In [2]: y = np.broadcast_to(x, (2,1,3)) In [3]: y.shape Out[3]: (2, 1, 3) 在代码的其他地方,我使用的第三方函数可以在Numpy数组上以矢量化方式运行,但这不是uf...
  • 0 votes
     answers
     views

    Numpy Broadcasting

    当我在Numpy进行此操作时会发生什么? a = np.ones([500,1]) b = np.ones([5000,])/2 c = a + b # a.shape (500,1) # b.shape (5000, ) # c.shape (500, 5000) 我很难弄清楚这个广播中究竟发生了什么 .
  • 0 votes
     answers
     views

    numpy dot如何与广播一起使用

    我有两个numpy数组 . 当我使用numpy dot函数时,我得到了不同的结果 . 我无法理解点功能如何与广播一起产生这些输出 . 有人可以解释我这两者之间的区别 . A = np.array([[2,4,6]]) Y = np.array([[1,0,1]]) np.dot(A,Y.T) = array([8]) np.dot (Y.T, A) = array([[2, 4, 6], ...
  • 9 votes
     answers
     views

    广播视图不规则地numpy

    假设我想要一个大小为 (n,m) 的numpy数组,其中 n 非常大,但是有很多重复,即 . 0:n1 是相同的, n1:n2 是相同的等等( n2%n1!=0 ,即不是规则的间隔) . 有没有办法只为每个重复项存储一组值,同时拥有整个数组的视图? 例: unique_values = np.array([[1,1,1], [2,2,2] ,[3,3,3]]) #these are the v...
  • 1 votes
     answers
     views

    添加新轴以方便广播,更好的方法?

    我正在寻找一个很好的方法"clean up"两个数组的维度,我想用广播结合在一起 . 特别是我想广播一维数组,直到多维数组的形状,然后添加两个数组 . 我对广播规则的理解告诉我,如果多维数组的最后一个维度与一维数组的维度相匹配,这应该可以找到 . 例如,具有形状(,3)和(10,3)的数组将添加精细 我的问题是,鉴于我所拥有的数组是如何构建的,匹配维度恰好是数组的第一个维度,因...
  • 2 votes
     answers
     views

    使用numpy .isin元素

    我有一个非常简单的场景,我想测试二维数组的两个元素是否(单独)成为更大数组的成员 - 例如: full_array = np.array(['A','B','C','D','E','F']) sub_arrays = np.array([['A','C','F'], ['B','C','E']]) np.isin(full_array, sub_arr...
  • 19 votes
     answers
     views

    Numpy`ValueError:操作数不能与形状一起播放......`

    我正在使用python 2.7并尝试预测从1.00000000到3.0000000008的一些随机数据 . 我的阵列中有大约196个项目,我收到错误 ValueError: operands could not be broadcast together with shape (2) (50) 我似乎无法独自解决这个问题 . 任何帮助或相关文档的链接将不胜感激 . 这是我正在使用的代码生成此错误...
  • 1 votes
     answers
     views

    在Numpy中减少或扩展广播

    在下面的代码中,我们计算所有给定点对之间的向量的大小 . 为了加快NumPy中的这个操作,我们可以使用广播 import numpy as np points = np.random.rand(10,3) pair_vectors = points[:,np.newaxis,:] - points[np.newaxis,:,:] pair_dists = np.linalg.norm(pair_...
  • 5 votes
     answers
     views

    计算矩阵中所有其他点之间的距离

    我是Python的新手,我需要实现一个聚类算法 . 为此,我需要计算给定输入数据之间的距离 . 考虑以下输入数据 - [[1,2,8], [7,4,2], [9,1,7], [0,1,5], [6,4,3]] 我想在这里实现的是,我想计算[1,2,8]与所有其他点的距离,并找到距离最小的点 . 我必须为所有其他要点重复这一点 . 我试图用FOR循环实现它,...
  • 0 votes
     answers
     views

    使用Python将大量数字写入HDF5文件

    我目前有一个包含一百万行的数据集,每行约10000列(可变长度) . 现在我想将这些数据写入HDF5文件,以便稍后使用 . 我让这个工作,但它是 incredibly slow . 即使1000个值也需要几分钟才能存储在HDF5文件中 . 我一直在寻找各地,包括SO和H5Py文档,但我真的找不到任何描述我的用例的东西,但我知道它可以完成 . 下面我制作了一个演示源代码,描述了我现在正在做的事情:...
  • 0 votes
     answers
     views

    Numpy Broadcasting - 统计数据

    是否存在用于创建矩阵的numpy广播解决方案,该矩阵输出DataFrame中所有列之间的标准差? 以下解决方案非常有用,但仅适用于平均差异(例如独立性等)Pandas - Creating Difference Matrix from Data Frame .感谢@divakar,@ yayhan,@ jezrael和其他人参与讨论 输入将是DfA 0 A1 B1 C1 1 8...
  • 2 votes
     answers
     views

    如何使用高级布尔索引在numpy中分配值?

    我正在尝试使用布尔索引将一维输出广播到三维数组 . 我有一个我想分配的数组: output_array = np.zeros((2,4,3)) 然后我用来做索引的一些布尔数组: dim0_bool = np.array([True, True]) dim0_dim1_bool = np.array([[True, True, True, False], ...
  • 1 votes
     answers
     views

    有效地将阈值函数应用于SciPy稀疏csr_matrix

    我有一个1列和x行的SciPy csr_matrix(在这种情况下是一个向量) . 在它中是我需要转换为离散类标签-1,0和1的浮点值 . 这应该使用阈值函数来完成,该函数将浮点值映射到这3个类标签中的一个 . 除了在Iterating through a scipy.sparse vector (or matrix)中描述的迭代元素之外没有办法吗?我希望有一些优雅的方式以某种方式映射(thres...

热门问题