【问题标题】:Numpy historgramm 2d vectorNumpy histogram2d 向量
【发布时间】:2020-05-22 09:35:48
【问题描述】:

我有一个像上图一样的 x y 列表

在代码中它是这样工作的:

np.array([[1.3,2.1],[1.5,2.2],[3.1,4.8]])

现在我想设置一个网格,我可以设置它的起点、列数和行数以及行和列的大小,然后计算每个单元格中的点数。

在这个例子中,[0,0] 有 1 个点,[1,0] 有 1,[2,0] 有 3,[0,1] 有 4,依此类推。

我知道即使没有 numpy,手动操作也可能很简单,但我需要尽快创建它,因为我必须以这种方式处理大量数据。

有什么好的方法可以做到这一点?基本上创建点的二维直方图?更重要的是,我怎样才能尽可能快地做到这一点?

【问题讨论】:

    标签: python numpy vector


    【解决方案1】:

    我认为numpy.histogram2d 是最好的选择。

    a = np.array([[1.3,2.1],[1.5,2.2],[3.1,4.8]])
    H, _, _ = np.histogram2d(a[:, 0], a[:, 1], bins=(range(6), range(6)))
    print(H)
    # [[0. 0. 0. 0. 0.]
    #  [0. 0. 2. 0. 0.]
    #  [0. 0. 0. 0. 0.]
    #  [0. 0. 0. 0. 1.]
    #  [0. 0. 0. 0. 0.]]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-03
      • 1970-01-01
      • 2015-07-27
      • 2017-03-28
      相关资源
      最近更新 更多