如何创建包含 30 个以上 bin 的二维矩阵?

How do I create a 2D matrix with more than 30 bins?

我正在编写一个代码,该代码从文本文件和输入 m 中获取点列表,以创建点的频率分布,其中 m 是 bin 的数量。

discret =  open('testingdisc.txt','w+')
x = []
y = []

m = int(input("Input number of bins:"))

for line in open('xypoints.txt','r'):
    lines = line.split(",")
    x.append(float(lines[0]))
    y.append(float(lines[1]))

H = np.histogram2d(x, y, bins= m)

list = re.sub('( \[|\[|\])', '', str(H[0].astype(int)))

print(list , file = discret)

当 m < 30 时,代码给出了我正在寻找的输出:

1 0 0 1 0 0 0 0 0 1
0 1 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
1 0 0 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0

但是,我要查找的 bin 数量将超过 40,这会给我以下输出:

1 0 0 ... 0 0 1
0 0 0 ... 0 0 0
0 0 0 ... 0 0 0
 ...
0 0 0 ... 0 0 0
0 0 0 ... 0 0 0
0 0 0 ... 0 0 0

可使用的垃圾箱数量是否有限制?

Python 的默认设置是在您尝试打印出非常大的数组时不打印所有条目。其背后的主要原因可能是当您不小心输出了一个包含数百万个条目的数组时,它对任何人都没有帮助。您可以通过更改打印选项来更改该行为:

import sys
import numpy
numpy.set_printoptions(threshold=sys.maxsize)