1.哑变量处理类别型数据
#哑变量处理类别型数据方法get_dummies
pandas.get_dummies(data,prefix=None,prefix_sep=',',dummy_na=False,columns=None,sparse=False,drop_first=False)
2.使用等宽法、等频法、聚类分析法离散化连续数据
import pandas as pd
import numpy as np
detail=pd.read_csv('E:\大三上\张宇萌\实习任务安排(2019-10-10)\detail.csv',encoding='gbk')
#哑变量处理
data=detail.loc[0:5,'dishes_name']#抽取部分数据做演示
print('初始\n',data)
print('结果\n',pd.get_dummies(data))
#使用等宽法、等频法、聚类分析法离散化连续数据
#等宽法
price=pd.cut(detail['amounts'],5)
print('离散化后5条记录售价分布为\n',price.value_counts())
#等频法
def sameratecut(data,k):
w=data.quantile(np.arange(0,1+1.0/k,1.0/k))
data=pd.cut(data,w)
return data
#对菜品售价进行等频法离散化
result=sameratecut(detail['amounts'],5).value_counts()
print('菜品数据等频离散化后各个类别数目分布状况为:\n',result)
#聚类分析法
任务实现
#对dishes_name特征进行哑变量处理
data=detail.loc[:,'dishes_name']
print(data.iloc[:5])
print(pd.get_dummies(data).iloc[:5,:5])
#自定义等频法离散化函数
def sameratecut(data,k):
w=data.quantile(np.arange(0,1+1.0/k,1.0/k))
data=pd.cut(data,w)
return data
#菜品售价等频法离散化
result=sameratecut(detail['amounts'],5).value_counts()
print(result)