ML numpy、pandas、matplotlib的使用

1. 利用公式  x^2 + y^2 < 1,画一个圆:

import numpy as np
import matplotlib.pyplot as plt

data = 2*np.random.rand(10000, 2)-1 # 在-1到1之间显示
print(data)

x = data[:, 0]
y = data[:, 1]

# 显示圆形 x^2 + y^2 < 1 其中idx中满足的点即为true,不满足的点为false
idx = x**2 + y**2 < 1.000
# print(idx)  # numpy中很少使用循环,可以直接对数组进行操作
plt.plot(x[idx], y[idx], 'ro', markersize=1)
plt.show()
画一个圆

2. 利用公式  x^2 + y^2 < 1, x^2 + y^2<0.5^2,做差值,画一个圆环:

import numpy as np
import matplotlib.pyplot as plt

data = 2*np.random.rand(10000, 2)-1
print(data)

x = data[:, 0]
y = data[:, 1]

# 画一个圆环
idx = x**2 + y**2 < 1.000
hole = x**2 + y**2 < 0.5**2
idx = np.logical_and(idx, ~hole)
plt.plot(x[idx], y[idx], 'ro', markersize=1)
plt.show()
圆环

3. 直方图的显示

import numpy as np
import matplotlib.pyplot as plt

data = np.random.random(10000)

print(data.shape)  # 显示形状

np.set_printoptions(edgeitems=5000, suppress=True)
plt.hist(data, bins=20, color='r', edgecolor='k')  # 属性:edgecolor为边界颜色
plt.show()
直方图

  中心极限定理

import numpy as np
import matplotlib.pyplot as plt

N = 10000
times = 100
z = np.zeros(N)
for i in range(times):
    z += np.random.random(N)
z /= times
plt.hist(z, bins=20, color='b', edgecolor='k')
plt.show()
中心极限定理

猜你喜欢

转载自www.cnblogs.com/abc23/p/11020532.html
ML