Python 数据清洗与预处理:从数据读取到标准化
数据清洗与预处理
import pandas as pd
读取数据
data = pd.read_excel('E:/pythonProject5/深度学习/新建 XLS 工作表.xls')
打印数据的列名
print(data.columns)
删除缺失值
data.dropna(inplace=True)
删除重复值
data.drop_duplicates(inplace=True)
处理异常值
data = data[(data['涨跌幅'] >= -10) & (data['涨跌幅'] <= 10)]
数据归一化
最小-最大规范化
def min_max_scale(data): return (data - data.min()) / (data.max() - data.min())
对数据进行归一化
data['涨跌幅'] = min_max_scale(data['涨跌幅'])
Z-score规范化
def z_score_scale(data): return (data - data.mean()) / data.std()
对数据进行归一化
data['涨跌幅'] = z_score_scale(data['涨跌幅'])
数据标准化
from scipy.stats import boxcox
Box-Cox变换
需要保证数据为正数,如果数据中存在负数,则需要先进行平移操作
data['涨跌幅'] = data['涨跌幅'] - data['涨跌幅'].min() + 1 data['涨跌幅'], _ = boxcox(data['涨跌幅'])
对数据进行标准化
data['涨跌幅'] = z_score_scale(data['涨跌幅'])
from scipy.stats import yeojohnson
Yeo-Johnson变换
需要保证数据为正数,如果数据中存在负数,则需要先进行平移操作
data['涨跌幅'] = data['涨跌幅'] - data['涨跌幅'].min() + 1 data['涨跌幅'], _ = yeojohnson(data['涨跌幅'])
对数据进行标准化
data['涨跌幅'] = z_score_scale(data['涨跌幅'])
原文地址: https://www.cveoy.top/t/topic/oYKk 著作权归作者所有。请勿转载和采集!