数据分析数据标准化
#-*-coding:utf-8-*-
import numpy as np
import pandas as pd
#標準化數(shù)據(jù)的目的:將數(shù)據(jù)轉(zhuǎn)化為同一量級,避免量級對結(jié)果產(chǎn)生不利的影響
#三種方式
#離差標準化--(x-min)/(max-min)
#將數(shù)據(jù)轉(zhuǎn)換化為【0,1】之間去
def min_max_sca(data):""":param data: 傳入的數(shù)據(jù):return:"""data=(data-data.min())/(data.max()-data.min())return data
#離差標準化容易受到異常點影響
#標準差標準化--(x-mean)/std
#轉(zhuǎn)化完成的數(shù)據(jù)--將數(shù)據(jù)轉(zhuǎn)化到標準差為1均值為0的狀態(tài)
def stand_sca(data):"""標準差標準化數(shù)據(jù):param data::return:mean()均值,std()標準差,標準差是方差的平方根"""data=(data-data.mean())/data.std()return data
#對異常值不敏感#小數(shù)定標標準化
#x/10^k; k=log10(|x|.max()向上取整
#通過移動數(shù)據(jù)的小數(shù)點來使得數(shù)據(jù)轉(zhuǎn)化到[-1,1]之間
def sesc_sca(data):"""小數(shù)定標標準化:param data::return:abs取絕對值"""data=data/(10**np.ceil(np.log10(data.abs().max())))return data
#加載數(shù)據(jù)
detail=pd.read_excel('./meal_order_detail.xlsx')
data=detail.loc[:,'amounts']
print(data.max())
res1=min_max_sca(data)
print(res1)
res2=stand_sca(data)
print(res2)
res3=sesc_sca(data)
print(res3)
總結(jié)
- 上一篇: 数据分析缺失值处理
- 下一篇: 数据分析基于朴素贝叶斯的书籍评价信息分类