TypeError: 'numpy.float64' object cannot be interpreted as an integer

TypeError: ‘numpy.float64’ object cannot be interpreted as an integer

  • 出现此情况的原因是plt.hist(normal_values, np.sqrt(N), normed=True, lw=1)中的np.sqrt(N)是浮点型数据,而hist要求是int型数据,所有加上int(np.sqrt(N))

import numpy as np
import matplotlib.pyplot as plt

# 连续分布是通过 概率密度函数(pdf)进行建模的。在特定区间发生某事件的可能性可以通过概率密度函数的积分运算求出。
N = 10000
normal_values = np.random.normal(size=N)

print(normal_values)

dummy, bins, dummy = plt.hist(normal_values, np.sqrt(N),normed=True, lw=1)

sigma = 1

mu = 0

plt.plot(bins, 1 / (sigma * np.sqrt(2 * np.pi)) * np.exp(-(bins - mu) ** 2 / (2 * sigma ** 2)), lw=2)

plt.show()
# 用normal()函数,可以创建指定数量的随机数
# 画出条形图和理论上的pdf,中心值为0,标准差为1

TypeError: ‘numpy.float64’ object cannot be interpreted as an integer

你可能感兴趣的:(python)