import numpy as np
data=np.array([[2.5,0.5,2.2,1.9,3.1,2.3,2.0,1.0,1.5,1.1],
[2.4,0.7,2.9,2.2,3.0,2.7,1.6,1.1,1.6,0.9]])
p=np.average(data, axis=1)
xp=p[0]
yp=p[1]
dataadjust=np.zeros((2,n))
for i in range(0,n):
dataadjust[0,i]=data[0,i]-xp
dataadjust[1,i]=data[1,i]-yp
c=np.cov(dataadjust[0,:],dataadjust[1,:])
eigenvalues,eigenvectors=np.linalg.eig(c)
a0=np.argsort(eigenvalues)
a=np.max(a0)
v=np.zeros((2,1))
for i in range(2):
v[i,0]=eigenvectors[i,a]
print(v)
dt=dataadjust.T
print(dt)
finaldata=np.dot(dt,v)
finaldata
[[-0.6778734 ]
[-0.73517866]]
[[ 0.69 0.49]
[-1.31 -1.21]
[ 0.39 0.99]
[ 0.09 0.29]
[ 1.29 1.09]
[ 0.49 0.79]
[ 0.19 -0.31]
[-0.81 -0.81]
[-0.31 -0.31]
[-0.71 -1.01]]
array([[-0.82797019],
[ 1.77758033],
[-0.99219749],
[-0.27421042],
[-1.67580142],
[-0.9129491 ],
[ 0.09910944],
[ 1.14457216],
[ 0.43804614],
[ 1.22382056]])