資料分析 Task2 資料清洗及特徵處理

2021-10-23 15:28:59 字數 1355 閱讀 1051

1.重複值,df.duplicated()

drop_duplicates,刪除整行重複值

2.連續型變數離散化(分箱)

1.將連續變數age平均分箱成5個年齡段,並分別用類別變數12345表示

df["box"] = pd.cut(df["年齡"],5,labels=["1","2","3","4","5"])
2.#將連續變數age劃分為[0,5) [5,15) [15,30) [30,50) [50,80)五個年齡段,並分別用類別變數12345表示

df['ageband'] = pd.cut(df['age'],[0,5,15,30,50,80],labels = ['1','2','3','4','5'])

df.head(3)

3.檢視文字類變數類別及替換

檢視

1.df['***'].value_counts()

2.df['***'].unique()

替換

#方法一: replace

df['***_num'] = df['***'].replace(['male','female'],[1,2])
#方法二: map

df['***_num'] = df['***'].map()
#方法三: 使用sklearn.preprocessing的labelencoder

from sklearn.preprocessing import labelencoder

for feat in ['cabin', 'ticket']:

lbl = labelencoder()

label_dict = dict(zip(df[feat].unique(), range(df[feat].nunique())))

df[feat + "_labelencode"] = df[feat].map(label_dict)

df[feat + "_labelencode"] = lbl.fit_transform(df[feat].astype(str))

4.extract函式

提取函式:返回陣列中滿足某個條件的元素

series.str.extract(pat, flags=0, expand=none)

引數:pat : 字串或正規表示式

flags : 整型,

expand : 布林型,是否返回資料框

returns:

資料框dataframe/索引index

Task 2 資料分析(EDA)

在此之前基本沒有關於python以及資料探勘的經驗,所以前期不管是庫的安裝還是按照指導pdf敲 都經常遇到錯誤,小白只能邊查邊改邊學,頭禿的同時也強迫自己學到了不少東西。前半部分的 還能勉強一邊敲一邊理解,後面只能走一下流程,粗略地了解一下eda的整體步驟,具體的 以及過程中蒐集的知識 遇到的問題將...

Task2 資料讀取與資料分析

先用pandas讀取資料 train df pd.read csv data train set.csv sep t train df.head label為新聞類別,text為之後的文章內容。讀取資料後計算每條新聞的文字長度。用plt庫繪製直方圖。1 假設字元3750,字元900和字元648是句子...

Task 2 資料讀取與資料分析

import pandas as pd import numpy as np import matplotlib.pyplot as plt train df train df pd.read csv d a train set1.csv sep t nrows 100 train df.head引...