import pandas as pdfrom sklearn.impute import ******imputer # 專門補缺的類
from sklearn.preprocessing import labelencoder # 標籤專用,能夠將分類轉換為分類數值
data = pd.read_csv('缺失預處理資料22222.csv', index_col=0) # 把第0列作為索引
# print(data.head())
# print(data.info()) #看一下資料狀況 發現年齡和艙門有缺失
# todo:::::::::::::sklearn.impute.******imputer (missing_values=nan, strategy=』mean』, fill_value=none, verbose=0,copy=true)
# todo: 引數
#### missing_values 告訴******imputer,資料中的缺失值長什麼樣,預設空值np.nan
#### strategy 我們填補缺失值的策略,預設均值。
#### 輸入「mean」使用均值填補(僅對數值型特徵可用)
#### 輸入「median"用中值填補(僅對數值型特徵可用)
#### 輸入"most_frequent」用眾數填補(對數值型和字元型特徵都可用)
#### 輸入「constant"表示請參考引數「fill_value"中的值(對數值型和字元型特徵都可用)
#### fill_value 當引數startegy為」constant"的時候可用,可輸入字串或數字表示要填充的值,常用0
#### copy 預設為true,將建立特徵矩陣的副本,反之則會將缺失值填補到原本的特徵矩陣中去
# todo: 填補年齡
# age = data.loc[:, "age"].values.reshape(-1, 1) # sklearn當中特徵矩陣必須是二維
# imp_mean = ******imputer() # 例項化,預設均值填補
# imp_median = ******imputer(strategy="median") # 用中位數填補
# imp_0 = ******imputer(strategy="constant", fill_value=0) # 用0填補
## imp_mean = imp_mean.fit_transform(age) # fit_transform一步完成調取結果
# imp_median = imp_median.fit_transform(age) # fit_transform一步完成調取結果
# imp_0 = imp_0.fit_transform(age) # fit_transform一步完成調取結果
# print(imp_mean[:20])
# print(imp_median[:20])
# print(imp_0[:20])
# todo::在這裡我們使用中位數填補age
# data.loc[:, "age"] = imp_median
# print(data.info())
# todo: 使用眾數填補embarked
# embarked = data.loc[:, "embarked"].values.reshape(-1, 1)
# imp_mode = ******imputer(strategy="most_frequent")
# data.loc[:, "embarked"] = imp_mode.fit_transform(embarked)
# print(data.info())
# todo::::bonus:用pandas和numpy進行填補其實更加簡單
import pandas as pd
# data.head()
# data.loc[:, "age"] = data.loc[:, "age"].fillna(data.loc[:, "age"].median())
# # .fillna 在dataframe裡面直接進行填補
# data.dropna(axis=0, inplace=true)
# # .dropna(axis=0)刪除所有有缺失值的行,.dropna(axis=1)刪除所有有缺失值的列
# # 引數inplace,為true表示在原資料集上進行修改,為false表示生成乙個複製物件,不修改原資料,預設false
# print(data.info())
swift基礎day6 錯誤處理
錯誤處理 swift 在執行時提供了丟擲 捕獲 傳遞和操作可恢復錯誤等支援。swift 中的錯誤處理涉及到錯誤處理模式與cocoa有關。表示與丟擲錯誤 遵循error 協議。表示與丟擲錯誤 enum vendingmachineerror error throw vendingmachineerro...
上課記錄 Day6
html css和bootstrap框架的關係是什麼 下列 布局合理嗎?不合理的話,應該怎麼改進 不合理 名字跟暱稱應該各分為一塊 名字 暱稱 絕對路徑和相對路徑的差別是什麼 col md 6 col xs 6這兩個類分別表示什麼含義 col md push 6 col md offset 6 co...
Day6 快速排序
快速排序 快速排序使用分治的策略來把乙個序列為兩個子串行。快速排序又是一種分而治之思想在排序演算法上的典型應用。本質上來看,快速排序應該算是在氣泡排序基礎上的遞迴分治法。1.首先從數列中挑出乙個元素,稱為 基準 2.接著重新將數列排序,所有比基準小的元素擺放在基準的前面,所有比基準大的數都排在基準的...