資料清洗之值的替換 replace

2021-10-05 20:40:41 字數 3392 閱讀 6660

很多情況下,我們想把一些值替換成其他值,這裡可以用pandas中replace()實現.

in [

102]

: ser = pd.series([0

.,1.

,2.,

3.,4

.])#單個值的替換

in [

103]

: ser.replace(0,

5)# 把0替換成5

out[

103]:0

5.01

1.02

2.03

3.04

4.0dtype: float64

#一組值(list)的替換

in [

104]

: ser.replace([0

,1,2

,3,4

],[4

,3,2

,1,0

])# 把0,1,2,3,4依次替換成4,3,2,1,0

out[

104]:0

4.01

3.02

2.03

1.04

0.0dtype: float64

#字典(dict)的替換

in [

105]

: ser.replace(

)# 索引0對應的值替換為10,索引1對應的值替換為100

out[

105]:0

10.0

1100.0

22.0

33.0

44.0

dtype: float64

#把指定值當成缺失值,再進行填充

in [

108]

: ser.replace([1

,2,3

], method=

'pad'

)# 把1,2,3當成缺失值,再用上乙個非空值進行填充.

out[

108]:0

0.01

0.02

0.03

0.04

4.0dtype: float64

in [

106]

: df = pd.dataframe(

)in [

107]

: df.replace(

,100

)# a列值為0的替換成100,b列值為5的替換成100.

#df.replace(0,100)

#df.replace(5,100)

out[

107]

: a b

0100

100116

2273

3844

9#運用正規表示式進行替換

in [

109]

: d =

in [

110]

: df = pd.dataframe(d)

in [

112]

: df.replace(r'\s*\.\s*'

, np.nan, regex=

true

)out[

112]

: a b c

00 a a

11 b b

22 nan nan

33 nan d

#運用list進行替換

in [

113]

: df.replace(

['a'

,'.'],

['b'

, np.nan]

)# a替換為b,.替換為nan

out[

113]

: a b c

00 b b

11 b b

22 nan nan

33 nan d

#正則list形式的替換

in [

114]

: df.replace(

[r'\.'

, r'(a)'],

['dot'

, r'\1stuff'

], regex=

true

)# .替換成dot,a替換成astuff

out[

114]

: a b c

00 astuff astuff

11 b b

22 dot nan

33 dot d

#dict形式的替換

in [

115]

: df.replace(,)

# 指定b列中的.替換成nan

#df.replace(, , regex=true)與前者等同

out[

115]

: a b c

00 a a

11 b b

22 nan nan

33 nan d

#巢狀dict

in [

117]

: df.replace(

}, regex=

true

)# b列中的b替換成''

# df.replace(regex=}) b列中.替換成nan

out[

117]

: a b c

00 a a

11 b22

. nan33

. d

in [

119]

: df.replace(

,, regex=

true

)# b列中.替換成.ty

out[

119]

: a b c

00 a a

11 b b22

.ty nan33

.ty d

in [

120]

: df.replace(

[r'\s*\.\s*'

, r'a|b'

], np.nan, regex=

true

)# .,a,b替換成nan

# df.replace(regex=[r'\s*\.\s*', r'a|b'], value=np.nan)與前者等同

out[

120]

: a b c

00 nan nan

11 nan nan

22 nan nan

33 nan d

資料清洗之資料清洗概述

從廣泛的意義上來講,資料是乙個寬泛的概念,包括但不限於 我們要了解資料清洗,就需理解資料的內涵和外延 常見的資料有 其中,比較重要比較常見的分析資料是 資料。這裡重點介紹一些關於 資料的內容。資料 資料物件由屬性 attributes 及其值 value 構成 資料的特徵 什麼是資料清洗 資料清洗是...

資料倉儲資料清洗之碼值對映

1.源系統碼值與目標碼值對映關係表結構 這個有問題,需要增加目標描述字段。2.源系統碼值與目標碼值對映關係表生成 2.1 源系統多個碼值對應乙個目標碼值 or 源系統的碼值不在碼表中儲存而在注釋中 手工維護對映表。2.2 源系統碼值和目標碼值一一對應 目標碼值就是源系統碼值 etl直抽到對映表中。e...

PySpark入門十二 資料清洗之離群值

構造資料 導包 from pyspark import sparkcontext from pyspark.sql.session import sparksession 連線 sc sparkcontext.getorcreate spark sparksession sc 生成資料 df out...