python資料清洗學習筆記 資料轉換

2021-10-04 17:52:17 字數 2319 閱讀 3403

• pandas中使用to_datetime()方法將文字格式轉換為日期格式

• dataframe資料型別如果為datetime64,可以使用dt方法取出年月日等

• 對於時間差資料,可以使用timedelta函式將其轉換為指定時間單位的數值

• 時間差資料,可以使用dt方法訪問其常用屬性

sec_cars[

'boarding_time'

]= pd.to_datetime(sec_cars[

'boarding_time'])

sec_cars[

'diff_day'

]= pd.datetime.today(

)- sec_cars['boarding_time』]

sec_cars['boarding_time』]

.dt.year

sec_cars['diff_day』]

/pd.timedelta(『1 hour』)

timedelta.dt.days

# 對購買日期進行轉換

df['buy_date'

]= pd.to_datetime(df[

'day'],

format

='%y%m%d'

,errors =

'coerce'

)#加errors防止報錯

# 可以提取對應年月日,必須為timestamp才可以,具體的時間點

df['buy_date'

].dt.year.head(

5)

• pandas中提供了字串的函式,但只能對字元型變數進行使用

• 通過str方法訪問相關屬性

• 可以使用字串的相關方法進行資料處理

函式名稱

說明contains()

返回表示各str是否含有指定模式的字串

replace()

替換字串

lower()

返回字串的副本,其中所有字母都轉換為小寫

upper()

返回字串的副本,其中所有字母都轉換為大寫

split()

返回字串中的單詞列表

strip()

刪除前導和後置空格

join()

返回乙個字串,該字串是給定序列中所有字串的連線

• 可以使用astype函式對資料進行轉換

• 可以使用map函式進行資料轉換

f1 =

lambda x:

str(x)

.strip(

)and

str(x)

.replace(

',',『』)

farmer_loan[

'貸款餘額'

]= farmer_loan[

'貸款餘額'].

(f1)

farmer_loan[

'貸款發放金額'

]= farmer_loan[

'貸款發放金額'

].astype(

float

) farmer_loan[

'id'

]= farmer_loan[

'戶主身份證號'].

(lambda x: x[0:

3])

#使用map函式

df2[

'性別'

]= df2[

'gender'].

map(

)#結合lambda替換

df2[

'user_id'].

(lambda x: x.replace(x[1:

3],'**'))

.head(5)

#提取年份

df2[

'birthday'].

(lambda x:

str(x)[0

:4])

.head(

5)

#定義函式

deff

(x):

if'0'

in x:

return

'女'elif

'1'in x :

return

'男'else

:return

'未知'

# 0代表女,1代表男,2代表未知

df2[

'性別'

]= df2[

'gender'].

(f)

記錄自:python資料清洗實戰:peter老師

python資料清洗學習筆記 檔案讀寫

前期準備 匯入os模組 import os 獲得當前路徑位址 os.getcwd 更改檔案路勁 os.chdir f python 資料清洗 和資料 設定最大顯示列數 pd.set option display.max columns 20 設定最大顯示行數 pd.set option displa...

python學習筆記(資料型別)

1,list 可以儲存各種資料型別甚至可以巢狀使用,使用方法同字串。用 賦值。元素可變。1 刪除操作 del 例如 list a b c del list 1 則此時的list為 a c 2 得到長度 len list 3 返回最大值最小值 max list min list 4 在結尾新增新物件 ...

Python學習筆記 資料型別

python的資料型別 分為整數,浮點數,字串,布林值,空值 python可以處理任意大小的整數,當然包括負整數,在python程式中,整數的表示方法和數學上的寫法一模一樣,例如 1,100,8080,0,等等。計算機由於使用二進位制,所以,有時候用十六進製制表示整數比較方便,十六進製製用0x字首和...