本文目的:1 数据源①如何关联表?②如何构建交叉表?③APA是如何实现主成分分析的?
import numpy as npimport pandas as pd#获取数据import numpy as npimport pandas as pd#获取数据aisleses = pd.read_csv(r"D:\Case_data特征工程案例数据aisles.csv",sep=",",encoding="utf-8",engine = 'python')orders = pd.read_csv(r"D:\Case_data特征工程案例数据orders.csv",sep=",",encoding="utf-8",engine = 'python')products = pd.read_csv(r"D:\Case_data特征工程案例数据products.csv",sep=",",encoding="utf-8",engine = 'python')order_products_prior = pd.read_csv(r"D:\Case_data特征工程案例数据order_products__prior.csv",sep=",",encoding="utf-8",engine = 'python#检查数据display(aisles.head(3))display(orders.head(3))display(products.head(3))display(order_products_prior.head(3))
问题:①关联表:user_id---->aisle
②结构交叉表user_id---->aisle
③分析主要成分,保留80%的信息
2 关联表 pd.merge()import time#关联表:user_id---->aisledata01 = pd.merge(orders,order_products_prior,how='inner',on=["order_id","order_id"])time.sleep(5)data02 = pd.merge(data01,products,on=["product_id","product_id)data03 = pd.merge(data02,aisles,on=["aisle_id","aisle_id"])time.sleep(3)display(data03.shape,data03.loc[0:3,["user_id","aisle"]])
交叉表 pd.crosstab()#结构交叉表user_id---->aisledata04 = pd.crosstab(data03[”user_id",data03["aisle"])display(data04.shape,data04.head(10))
主成分分析 PCA# 主要成分分析,保留n.n% 信息from sklearn.decomposition import PCAimport pandas as pdimport numpy as np # 1、数据:使用上述代码生成的data04data = data04#2.实例化转换器transfer = PCA(n_components=0.8) #实例化一个转换器类# n_components: ·小数:表示保留了多少信息 ·整数:减少多少特征#3.#调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_transform()xi = transfer.fit_transform(data) #调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_transform()#查看构成新的几个变量,查看单个变量的方差贡献率print(xi.shape,transfer.explained_variance_ratio_) #4.输出新结构的主成分变量Fi=[ ]for i in range(1,xi.shape[1]+1): F="F" + str(i) Fi.append(F)data02 = pd.DataFrame(xi,columns=Fi)display(data02.head(3))
扫描下面二维码的相关内容更多
扫
码
关
注
更多的数据分析数据操作数据操作
在这里,随时学习干货!