day 6 缺失值處理

2021-10-04 14:22:41 字數 2346 閱讀 7023

import pandas as pd

from 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.接著重新將數列排序,所有比基準小的元素擺放在基準的前面,所有比基準大的數都排在基準的...