import numpy as np
import math
from sklearn.datasets import load_iris
from sklearn import datasets, linear_model, metricsimport numpy as np
import pandas as pd
datasets = np.array([13, 15, 16, 16, 19, 20, 20, 21, 22, 22, 25, 25, 25,
25, 30, 33, 33, 35, 35, 35, 35, 36, 40, 45, 46, 52, 70])a = datasets
b = np.zeros(len(a))a[1]15
for i in range(len(a)):
b[i]=a[i]print(b)[13. 15. 16. 16. 19. 20. 20. 21. 22. 22. 25. 25. 25. 25. 30. 33. 33. 35.
35. 35. 35. 36. 40. 45. 46. 52. 70.]
b = np.sort(b)barray([13., 15., 16., 16., 19., 20., 20., 21., 22., 22., 25., 25., 25.,
25., 30., 33., 33., 35., 35., 35., 35., 36., 40., 45., 46., 52.,
70.])
lens = len(a)lens27
lens/39.0
bin1 = np.zeros((9,3))
bin2 = np.zeros((9, 3))
bin3 = np.zeros((9, 3))for i in range (0,len(a),3):
k=int(i/3)
mean=(b[i] + b[i+1] + b[i+2])/3
for j in range(3):
bin1[k,j]=mean
print("Bin Mean: \n",bin1)Bin Mean:
[[14.66666667 14.66666667 14.66666667]
[18.33333333 18.33333333 18.33333333]
[21. 21. 21. ]
[24. 24. 24. ]
[26.66666667 26.66666667 26.66666667]
[33.66666667 33.66666667 33.66666667]
[35. 35. 35. ]
[40.33333333 40.33333333 40.33333333]
[56. 56. 56. ]]
import matplotlib.pyplot as plt
import statsmodels.api as smy = np.array(range(1,28,1))z1 = np.polyfit(b,y,3)
print(z1)[-1.70252488e-05 -9.51573032e-03 1.36135068e+00 -1.59664180e+01]
p1 = np.poly1d(z1) # 返回值为多项式的表达式,也就是函数式子print(p1)
y_pred = p1(b) 3 2
-1.703e-05 x - 0.009516 x + 1.361 x - 15.97
plt.plot(b,y)plot1 = plt.plot(b, y, '*', label='original values')
plot2 = plt.plot(b, y_pred, 'r', label='fit values')本篇所应用的一些python的绘图方法 https://zhuanlan.zhihu.com/p/122702657
import pandas as pd
import numpy as np
import seaborn as sbnsbn.boxplot(b)<AxesSubplot: >