Python資料標準化處理

2021-10-18 20:14:45 字數 3387 閱讀 6228

歸一化,z-socre法

import numpy as np

import pandas as pd

import copy

import jenkspy

#逆向指標

defminmaxnormalization

(x):

x =(np.

max(x)

-x)/

(np.

max(x)

-np.

min(x)

)return x

#正向指標

defmaxminnormalization

(x):

x =(x-np.

min(x))/

(np.

max(x)

-np.

min(x)

)return x

#z-score

defzscorenormalization

(x):

x=(x-np.mean(x)

)/np.std(x)

return x

#歸一化具體**

df= pd.read_excel(

'd:\\desktop\\1204.xlsx'

,'sheet1'

)#正向指標

defmaxminnormalization

(*x)

:for i in

range

(len

(x))

: value = df.loc[

:,x[i]

] normal_value =

(value-np.

min(value))/

(np.

max(value)

-np.

min(value)

) df.loc[

:,x[i]

]= normal_value

# df.loc[:,x[i]] = (df.loc[:,x[i]]-np.min(df.loc[:,x[i]]))/(np.max(df.loc[:,x[i]])-np.min(df.loc[:,x[i]]))

#逆向指標

defminmaxnormalization

(*x)

:for i in

range

(len

(x))

: value = df.loc[

:,x[i]

] normal_value =

(np.

max(value)

-value)

/(np.

max(value)

-np.

min(value)

) df.loc[

:,x[i]

]= normal_value

#執行函式

#正向指標

maxminnormalization(

'gdp'

,'ppp'

,'nex14'

,'agrgdp'

,'trarely'

,'water'

)#對應指標的列名

#逆向指標

minmaxnormalization(

'agrland'

,'forland'

,'wstress'

,'popu'

,'transport'

,'contig'

)

補充內容:自然斷點分類、對數化

df = pd.read_excel(

'd:\\desktop\\1204.xlsx'

,'sheet1'

)#自然斷點法對資料分類

defgetbreaknum

(breaks, val)

:for i in

range

(len

(breaks)-1

):if val >= breaks[i]

and val<=breaks[i+1]

:return i+

1

classify_df = copy.deepcopy(df)

for colume in

range(37

): colval = df.iloc[

:,colume]

breaks = jenkspy.jenks_breaks(colval,nb_class=7)

#分類數nb_class

colval2 = copy.deepcopy(colval)

for i,val in

enumerate

(colval2)

: colval2[i]

= getbreaknum(breaks,val)

classify_df.iloc[

:,colume]

= colval2

classify_df.to_excel(

'd:\\desktop\\1129指標分級.xlsx'

, index =

false

)

#對數化

df = pd.read_csv(

'c:\\users\\richard_chen\\desktop\\loghot.csv'

)df.iloc[:,

1:19]

= df.iloc[:,

1:19]

.(np.log1p)

df.to_csv(

'c:\\users\\richard_chen\\desktop\\loghot_r.csv'

)

#按當前時間命名標準化處理後的檔案

from datetime import datetime #引入庫中的包

path =

"d:\\"

filename =

"output"

+'_'

+ datetime.now(

).strftime(

'%m%d%h%m')+

'.xls'

newpath = path + filename

classify_df.to_excel(newpath, index =

false

, header=

true

)#index = false 不帶序列號 ; header = true 有列名

python資料標準化處理 資料標準化處理

正態分佈跟標準分數之間的關係 python版本 3.5 標準分數 標準分數 standard score,又稱z score z分數或標準化值 是將集合中的單個數與集合的均值相減的結果除以集合的標準差得到標準化的結果,該方法類似於正態分佈的標準化轉換,轉換函式為 式中x為需要被標準化的原始值,為均值...

資料標準化處理

資料的標準化 normalization 也就是將資料按照比例縮放,使之落入特定區間內。因為不同的指標往往具有不同的量綱和單位,這樣的資料會影響分析結果,為了消除指標之間的這種影響,需要進行資料標準化處理,使個指標處於同一量級,讓指標有可比性。常用的歸一化有兩種方法 一 min max標準化 min...

資料標準化處理

python資料分析與資料化運營 宋天龍 著 資料標準化是乙個常用的資料預處理操作,目的是處理不同規模和量綱的資料,使其縮放到相同的資料區間和範圍,以減少規模 特徵 分布差異等對模型的影響。除了用作模型計算,標準化後的資料還具有了直接計算並生成復合指標的意義,是加權指標的必要步驟。z score標準...