常用的函式有dropna()和fillna()。
dataframe.
dropna
(axis=
0, how=
'any'
, thresh=none, subset=none, inplace=false)
屬性說明:
預設引數axis=0,根據索引(index)刪除指定的行; axis=1,根據列名(columns)刪除指定的列
預設axis=0,how=『any』,刪除帶有空值的行,只要有乙個空值,就刪除整行
axis=1,刪除帶有空值的列,只要有乙個空值,就刪除整列
how=『all』, 整行都是空值時,才會被刪除
thresh: 設定閾值,缺失值個數大於該閾值,整行(axis=0)或整列(axis=1)才會被刪除
subset=[1,2], 刪除指定列(1,2)中包含缺失值的行
dataframe.
fillna
(value=none, method=none, axis=none, inplace=false, limit=none, downcast=none,
**kwargs)
屬性說明:
value : 變數, 字典, series, or dataframe。用於填充缺失值(例如0),或者指定為每個索引(對於series)或列(對於dataframe)使用哪個字典/serise/dataframe的值。(不在字典/series/dataframe中的值不會被填充)這個值不能是乙個列表。
method : , 預設值 none ; 在series中使用方法填充空白(『backfill』, 『bfill』:用下乙個數值填充;『pad』, 『ffill』:用上乙個數值填充。)
axis :
inplace : boolean, 預設值 false。如果為ture,在原dataframe填滿。注意:這將修改次物件上的任何其他檢視(例如,dataframe中的列的無複製貼片)
limit : int, 預設值 none; 如果指定了方法,則這是連續的nan值的前向/後向填充的最大數量。 換句話說,如果連續nan數量超過這個數字,它將只被部分填充。 如果未指定方法,則這是沿著整個軸的最大數量,其中nan將被填充。 如果不是無,則必須大於0。
downcast : dict, 預設是 none; 如果可能的話,把 item->dtype 的字典將嘗試向下轉換為適當的相等型別的字串(例如,如果可能的話,從float64到int64)
將連續變數age平均分箱成5個年齡段,並分別用類別變數12345表示
df[
'ageband'
]= pd.
cut(df[
'age'],
5,labels =
['1'
,'2'
,'3'
,'4'
,'5'
])
將連續變數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'
])
將連續變數age按10% 30% 50 70% 90%五個年齡段,並用分類變數12345表
df[
'ageband'
]= pd.
qcut
(df[
'age'],
[0,0.1
,0.3
,0.5
,0.7
,0.9
],labels =
['1'
,'2'
,'3'
,'4'
,'5'
])
labelencoder:encode labels with value between 0 and n_classes-1.
from sklearn import preprocessing
le = preprocessing.
labelencoder()
le.fit
(df[
'cabin'
].values.
tolist()
)#transform 以後,這一列數就變成了 [
0, n-
1] 這個區間的數,即是 le.classes_ 中的索引
df['cabin_transform'
]=le.
transform
(df[
'cabin'
].values.
tolist()
)
onehotencoder:encode labels with dummy variables.
for feat in
["age"
,"embarked"]:
# x = pd.
get_dummies
(df[
"age"
]// 6)
# x = pd.
get_dummies
(pd.
cut(df[
'age'],
5)) x = pd.
get_dummies
(df[feat]
, prefix=feat)
df = pd.
concat
([df, x]
, axis=1)
# f[feat]
= pd.
get_dummies
(df[feat]
, prefix=feat)
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引...