使用范围 (1,100000) 中的 python matplotlib 创建图形

creating a graph using python matplotlib from range(1,100000)

使用从 1 到 100000 的 numpy 作为 x 和 y = x*x 的值创建数组

x = np.arange(1,100000)
y = x*x

但是当检查 y 值时有 31k+ 个负值

count = 0
for i in y:
    if i < 0:
        count+=1
print(count)

31612

https://www.linkedin.com/posts/sandeep-agrawal-3b8857196_python-python3-pythonlearning-activity-6852679546345521152-cG-a

你可能有整数溢出,尝试在提高幂之前将 x 转换为浮点数:

x = np.arange(1,100000)
y = x**10

sum(y < 0)
49760

转换为浮点数:

x = np.arange(1,100000).astype(float)
y = x**10

sum(y < 0)
0