import pandas as pd #导入处理二维表格的库
import numpy as np #导入数值计算的库
from sklearn.preprocessing import StandardScaler #导入数据标准化模块
import matplotlib.pyplot as plt #导入画图的包
from factor_analyzer import FactorAnalyzer #导入因子分析的类
import seaborn as sns #导入画热力图的库
index=pd.read_excel(r"C:\Users\a2044\Desktop\Subject document\大数据\投资学\index.xlsx")
index.head(5)#展示数据前5行
# 数据预处理
scaler=StandardScaler() #实例化标准处理的类,避免异常值影响
index_scaler=pd.DataFrame(scaler.fit_transform(index.iloc[:,3:21]))#标准化数据:index_scaler=(index-μ)/σ
index_scaler.columns=index.columns[3:21]#导入列名
code=index.iloc[:,2]#把第三列数据截取出来赋值给code(股票代码)
index_new=pd.concat([code,index_scaler],axis=1)#拼接表格,axis=1按列拼接
index_new.head()
# 进行因子分析
index_time_mean=index_new.groupby('stkcd').mean()#按股票代码求对应因子的均值
fa_test=FactorAnalyzer(n_factors=18,rotation&#