#!/usr/bin/env python# -*- coding:utf-8 -*-
# def execute():
# import pandas as pd
import numpy as np
import warnings
warnings.filterwarnings('ignore')
from sqlalchemy import create_engine
'''連線資料庫
'''engine = create_engine('mysql+pymysql:')
params =
inputs =
'''選擇目標資料
'''data_sql = 'select ' + params['columns'] + ' from ' + inputs['table']
data_in = pd.read_sql_query(data_sql, engine)
data_in.iloc[1] = np.nan
print(data_in)
# data_name = db_utils.query(conn, 'select ' + params['columns'] + ' from ' + inputs['data_in'])
'''找出缺失值
'''def outrange(ser1):
ql = ser1.quantile(float(params['upper_quantile']))
qu = ser1.quantile(float(params['lower_quantile']))
iqr = qu - ql
ser1.loc[ser1 > (qu + 1.5 * iqr)] = none
ser1.loc[ser1 < (ql - 1.5 * iqr)] = none
return ser1
# names = data_name.columns
# for j in names:
# data_in[j] = outrange(data_in[j])
'''對異常值處理
''''''
異常值處理方法:
刪除異常值:drop
中位數插補:median_interpolation
眾數插補:mode_interpolation
均值插補:mean_interpolation
線性插值:slinear
多項式插值:polynomial
'''if params['method'] == 'drop':
data_out = data_in.dropna()
elif params['method'] == 'median_interpolation':
data_out = data_in.fillna(data_in.median())
elif params['method'] == 'mode_interpolation':
data_out = data_in.fillna(data_in.mode())
elif params['method'] == 'slinear':
data_out = data_in.interpolate(method='slinear')
elif params['method'] == 'quadratic':
data_out = data_in.interpolate(method='quadratic')
elif params['method'] == 'mean_interpolation':
data_out = data_in.fillna(data_in.mean())
else:
data_out = data_in.fillna(data_in.mean())
'''將結果寫出
'''print(data_out)
# if __name__ == '__main__':
execute()
資料預處理之異常值處理
異常值,即在資料集中存在不合理的值,又稱離群點。比如年齡為 1,膝上型電腦重量為1噸等,都屬於異常值的範圍。從集合角度來看,異常值即離群點,如下圖所示 對屬性值進行乙個描述性的統計,從而檢視哪些值是不合理的。比如對年齡這個屬性進行規約 年齡的區間在 0 200 如果樣本中的年齡值不再該區間範圍內,則...
異常值處理
簡單來說,即在資料集中存在不合理的值,又稱離群點。我們舉個例子,做客戶分析,發現客戶的年平均收入是80萬美元。但是,有兩個客戶的年收入是4美元和420萬美元。這兩個客戶的年收入明顯不同於其他人,那這兩個觀察結果將被視為異常值。每當我們遇到異常值時,處理這些異常值的理想方法就是找出引起這些異常值的原因...
預處理演算法 4 表堆疊
表堆疊主要是兩個dataframe進行資料合併 usr bin env python coding utf 8 def execute 載入模組 import pandas as pd from sqlalchemy import create engine 連線資料庫 engine create ...