python实现数据的批量max-min标准化,告别反复的EXCEL操作

虽然EXCEL能够胜任此项工作,但是写论文时反复处理数据也很麻烦,每次处理数据都以为是最后一次,结果是永无止境。

因此,本篇基于pandas库,点击即可完成数据的批量max-min标准化。

使用前需要安装好pandas库,手动修改代码中的startCol、varNum、filePath、sheet_name

import pandas as pd

startCol=3 #第一列数据所在的列
varNum=21 #数据的条目数
filePath="营商环境生态数据.xlsx" #数据所在路径

def max_min_standardized(df):
    colName=list(df) #取出df的列名
    for i,j in zip(range(startCol-1,startCol+varNum-1),range(1,varNum+1)):
        maxdf=df.loc[:,colName[i]].max()
        mindf=df.loc[:,colName[i]].min()
        df['x'+str(j)]=df.apply(lambda x:100*(x[colName[i]]-mindf)/(maxdf-mindf),axis=1)
    df.drop(colName[startCol-1:], axis=1,inplace=True)#删除标准化前的列
    df.to_csv('standardized.csv',sep=',',index=False)

if __name__ =='__main__':
    dataFrame=pd.read_excel(filePath,sheet_name="17+18",header = [0])
    max_min_standardized(dataFrame)

你可能感兴趣的:(Python,python,excel,pandas)