0

我有一个由两列组成的 DataFrame,如下所示:

col1      col2
0.33      4.33
0.21      4.89
3.2       18.78
6.22      0.05
6.0       2.1
...       ...
...       ...

现在我想通过合并两列来创建一个 200 x 200 的 numpy 数组。x 轴应该是col1y 轴应该是col2col1应该从 0 到 68 以对数方式分箱,col2从 0 到 35 以对数方式分箱。我想使用对数分箱,因为较小的值比较大的值更多(即,随着值的增大,箱变得越来越大)。然后,200 x 200 数组应存储每个 bin 中的样本数量(即计数)。

这可能以有效的方式进行吗?

4

1 回答 1

1

像这样的东西可能对你有用......(请注意,你必须选择下端接近零的程度):

bins1 = np.logspace(np.log10(0.001), np.log10(68), num=201)
bins2 = np.logspace(np.log10(0.001), np.log10(35), num=201)

result = np.histogram2d(df['col1'], df['col2'], bins=[bins1, bins2])

...result[0]箱中的计数在哪里,result[1]并且是箱边缘(与和result[2]相同)bins1bins2

于 2021-02-20T05:08:16.593 回答