資料開發_Python資料預處理_Pandas案例(二)
阿新 • • 發佈:2020-11-25
說明
1.資料預處理
資料預處理中清洗資料,是重塑資料的步驟之一,將一些不符合程式輸入的資料整理成符合相應模式的資料
資料重塑能力
2.一些符號說明
import pandas as pd
df 是一個數據框 eg:
df = pd.DataFrame({
'col_1_nm':['11','22'],
'col_2_nm':['da','dd']
})
資料型別轉換
資料型別 Pandas型別 object int64 float64 datetime64 Python型別 str int float datetime 函式 Numpy和Pandas的檢視方式略有不同,一個是 dtype,一個是dtypes pandas方法 df.dtype df.info size values index Python中函式 type() -- 讀取資料指定型別 df.astype() 強制轉換 pd.to_numeric() pd.to_datetime()
缺失值
1.缺失值來源: 來源於資料來源 來源於資料操作 merge() 等操作 來源於資料操作的情況 01. mid_data = pd.merge(exm_input, sap_input, left_on='field_code', right_on='field_code', how='left') 02.兩個資料框 df.append(df2) pd.concat(, axis=1) pd.concat(, axis=0) 2.缺失值處理 數值型和字串型轉換經常遇到空值 / NaN值處理 1. 刪除缺失值:dropna函式 df.dropna(how='all') df.dropna(axis='columns') NA的閾值。引數thresh=2,表示行/列中的NA數量大於2才刪除 2. 替換缺失值:fillna函式 設定每列NA的填充值。value為字典格式 values = {'A': 0, 'B': 1, 'C': 2, 'D': 3} df.fillna(value=values) 生成字典 pd.isna(data) and isinstance(data, np.int64): 3. 判斷缺失值:isna函式 4. 判斷缺失值:notna函式 缺失值在資料型別轉換過程中的問題 ValueError: cannot convert float NaN to integer
pandas展示
-- pandas在進行資料展示時,展示所有列
pd.set_option('display.max_columns', None)
pd.get_option('display.max_rows')
pd.get_option('display.max_columns')
重複值和異常值處理
1.重複值: 判斷是否重複, and(df.duplicated()) any(df.duplicated(subset = ['price','cnt'])) 以及如何處理重複資料: 去重 合併 去重: drop_duplicats() 數keep keep可以為first和last,表示是選擇最前一項還是最後一項保留,預設first, 還有一個是 False - False : Drop all duplicates. 2.異常值 異常值發現
向量化程式設計
向量化程式設計
案例程式碼
拼接SQL的資料
參考:
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html