import pandas as pd
Data=pd.read_excel('农村居民人均可支配收入来源2016.xlsx')
X=Data.iloc[:,1:]
R=X.corr()
print(R)
工资性收入 经营净收入 财产净收入 转移净收入
工资性收入 1.000000 -0.388997 0.826683 0.401917
经营净收入 -0.388997 1.000000 -0.205737 -0.314542
财产净收入 0.826683 -0.205737 1.000000 0.297458
转移净收入 0.401917 -0.314542 0.297458 1.000000
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
scaler.fit(X)
X=scaler.transform(X)
from sklearn.decomposition import PCA
pca=PCA(n_components=0.95)
pca.fit(X)
Y=pca.transform(X)
tzxl=pca.components_
tz=pca.explained_variance_
gxl=pca.explained_variance_ratio_
Y00=sum(X[0,:]*tzxl[0,:])
Y01=sum(X[1,:]*tzxl[0,:])
Y02=sum(X[2,:]*tzxl[0,:])
Y03=sum(X[3,:]*tzxl[0,:])
F=gxl[0]*Y[:,0]+gxl[1]*Y[:,1]+gxl[2]*Y[:,2]
dq=list(Data['地区'].values)
Rs=pd.Series(F,index=dq)
Rs=Rs.sort_values(ascending=False)
print(Rs)
北京 3.038413
上海 2.582823
天津 1.446676
浙江 1.260543
江苏 0.659315
广东 0.300473
河北 0.013099
山西 -0.112498
福建 -0.162941
青海 -0.166951
宁夏 -0.167162
黑龙江 -0.175883
重庆 -0.177313
山东 -0.178765
陕西 -0.267225
江西 -0.290871
四川 -0.291196
辽宁 -0.311699
湖南 -0.319781
内蒙古 -0.338537
安徽 -0.373579
河南 -0.415474
海南 -0.492279
贵州 -0.493301
甘肃 -0.523621
湖北 -0.560027
广西 -0.599919
新疆 -0.626501
云南 -0.663495
西藏 -0.727826
吉林 -0.864497
dtype: float64
本节内容参考Python金融数据分析与挖掘实战,黄恒秋,人民邮电出版社的内容