python中的直方图使用sqrt方法选择箱大小



尝试使用 sqrt 方法生成箱大小的直方图。我做错了什么?我的代码在下面给了我错误。谢谢。

类型错误:"float"对象不能解释为整数

values = [1,5,2,8,5,11,24,30,50]
x = len(values)
binsizes = math.sqrt(x)
plt.hist(values, bins = binsizes)
plt.show()

math.sqrt(x)返回一个浮点数。箱参数需要一个整数。您需要在某个时候将二进制转换为 int:

values = [1,5,2,8,5,11,24,30,50]
x = len(values)
binsizes = math.sqrt(x)
plt.hist(values, bins = int(binsizes))
plt.show()

在这里,您需要将math.sqrt设置为int,如果它不是设置为int,则总是会收到错误

n = np.zeros(bins, ntype) TypeError: 'float' 对象不能 解释为整数 在您的代码中,binsize 是浮点型,因此需要转换为 int

import math
import numpy as np
import matplotlib.pyplot as plt
values = [1,5,2,8,5,11,24,30,50]
x = len(values)
print(x)
binsizes = int(math.sqrt(x))
plt.hist(values, bins = binsizes)
plt.show()

最新更新