一、实验目的
(1) 掌握数据标准化方法。
(2) 掌握数据离散化方法。
(3) 掌握分组聚合的多种方法。
二、实验内容
(1) 删除类别型属性和字符型属性。
(2) 数据标准化。
(3) 数据离散化。
三、实验过程、内容
介绍代码实现的详细过程情况。
导入库
import pandas as pd
import numpy as np
pd.set_option('display.max_rows', None) # 展示所有行
pd.set_option('display.max_columns', None) # 展示所有列
读取数据,并将数据编码改为gbk。
df = pd.read_csv('USER_INFO.csv',encoding='gbk')
3.1 删除类别型属性和字符型属性
对字符型属性和类别型属性进行删除
使用info()函数查看数据标签属性
df.info()
共有五行object属性的列,使用pd.drop()删除。
df.drop(columns=['USER_ID','CONSTELLATION_DESC','MANU_NAME','MODEL_NAME','OS_DESC'], inplace=True)
3.2 数据标准化
使用零-均值标准化对删除后的数据进行标准化处理
df1 = (df-df.mean()) / df.std() #零-均值规范化
df1.head()
3.3 划分信用等级数据
使用groupby()方法划分信用等级数据
df2 = df['CREDIT_LEVEL'].groupby(df['CREDIT_LEVEL']).value_counts()
df2
3.4计算用户的平均在网时长和平均费用
使用agg()方法方法计算用户的平均在网时长和平均费用
INNET_MONTH_mean = df['INNET_MONTH'].agg('mean')
ACCT_FEE_mean = df['ACCT_FEE'].agg('mean')
print(INNET_MONTH_mean)
print(ACCT_FEE_mean)