可以使用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...