如何计算每个 bin 中的点数?

我有一个带有 x,y 坐标的 pandas df,想知道如何计算每个 bin 中的点数。我知道您可以使用 a 将其可视化,plt.hist2d()但我想制作某种数组/矩阵来保存每个 bin 的计数。


bins = (df // .1 * .1).round(1).stack().groupby(level=0).apply(tuple) 我使用以下方法对我的 x,y 坐标进行了分箱 df:


     x         y

-2.319059 -4.057801

1.514416 -2.325972

-2.642251 -1.004367

-1.486476 -2.535654

-0.844162 -3.078726

-2.376592 -1.471239

-3.139233  0.449457

:

etc

并且bins是:


0       (-2.4, -4.1)

1        (1.5, -2.4)

3       (-2.7, -1.1)

4       (-1.5, -2.6)

6       (-0.9, -3.1)

7       (-2.4, -1.5)

8        (-3.2, 0.4)

:

etc

我尝试使用以下方法制作一个空的 numpy 数组:


x_size = int(max(list(df['x'])))

y_size = int(max(list(df['y'])))

my_array = np.zeros((x_size+1,y_size+1), np.int16)

但我不确定我如何将 bin 坐标与数组坐标联系起来以便计算它们..


四季花海
浏览 145回答 1
1回答

三国纷争

只需groupby您的垃圾箱和使用GroupBy.count方法bins.groupby(bins).count()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python