資料清洗之 高階函式處理

2021-10-05 03:30:28 字數 3009 閱讀 9996

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

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

import pandas as pd

import numpy as np

import os

os.getcwd(

)

'd:\\jupyter\\notebook\\python資料清洗實戰\\資料清洗之資料轉換'
os.chdir(

'd:\\jupyter\\notebook\\python資料清洗實戰\\資料'

)

df = pd.read_csv(

'sam_tianchi_mum_baby.csv'

, dtype=

str, encoding=

'utf-8'

)

df.head(

5)

user_id

birthday

gender

02757

2013031111

415971

2012111102

1372572

2012013013

10339332

2011091004

10642245

20130213

0

def

f(x):if

'0'in

str(x)

:return

'女'elif

'1'in

str(x)

:return

'男'else

:return

'未知'

df[

'性別'

]= df[

'gender'].

(f)

df.head(

5)

user_id

birthday

gender性別0

2757

201303111男

1415971

201211110女

21372572

201201301男

310339332

201109100女

410642245

201302130女

# 檢視性別為未知資料

df[df[

'gender']==

'2']

.head(

5)

user_id

birthday

gender

性別46

49167150

201308182未知

4749983255

201402062未知

5152529655

201306112未知

5857711375

201304202未知

10699665637

201309262未知

del df[

'性別'

]

# map函式主要用於對映

df['性別'

]= df[

'gender'].

map(

)

df.head(

5)

user_id

birthday

gender性別0

2757

201303111男性

1415971

201211110女性

21372572

201201301男性

310339332

201109100女性

410642245

201302130女性

del df[

'性別'

]

# map函式也可傳入自己定義的函式

df['性別'

]= df[

'gender'].

map(f)

df.head(

5)

user_id

birthday

gender性別0

2757

201303111男

1415971

201211110女

21372572

201201301男

310339332

201109100女

410642245

201302130女

# 脫敏處理

# 可使用lambda函式

df['user_id'].

(lambda x:

str(x)

.replace(x[1:

3],'**'))

.head(

5)

0        2**7

1 4**971

2 1**2572

3 1**39332

4 1**42245

name: user_id, dtype: object

df[

'birthday'].

(lambda x: x[0:

4]).head(

5)

0    2013

1 2012

2 2012

3 2011

4 2013

name: birthday, dtype: object

Scala之高階函式

第乙個高階函式 def formatresult name string,n int,f int int formatresult是乙個高階函式,他接受乙個函式f為引數,引數的型別是int int,表示接受整型並返回乙個整型結果。多態函式 通常,在寫高階函式時,希望寫出的 能夠適用於任何型別,它們被...

Python之高階函式

一 什麼是高階函式 函式作為實參傳遞給函式的或者函式名為返回值的函式稱為高階函式。1 實參傳遞給函式 2 函式名為返回值 二 系統內建的高階函式 1 map函式 至少需要兩個引數,第乙個引數是函式名,第二個引數是序列 str,list,tuple map功能 把序列中的每乙個元素作為引數,傳給函式進...

Python之高階函式

做過swift開發的童鞋都知道,在swift中有許多的高階函式 map,filter,reduce,zip等 這些在開發中讓我們節省大量 python中同樣有許多的內建函式,但是這裡也只介紹幾個常用的高階函式 根據提供的函式對指定序列做對映,並返回對映後的序列 map function,iterab...