使用案例1
import pandas as pd
df = pd. DataFrame( { 'key1' : [ 'a' , 'a' , 'b' , 'b' , 'a' ] ,
'key2' : [ 'one' , 'two' , 'one' , 'two' , 'one' ] ,
'data1' : np. arange( 5 ) ,
'data2' : np. arange( 5 , 10 ) } )
print ( df)
df[ 'data1' ] = df[ 'data1' ] . map ( lambda x : "%.3f" % x)
df
key1 key2 data1 data2
0 a one 0 5
1 a two 1 6
2 b one 2 7
3 b two 3 8
4 a one 4 9
key1 object
key2 object
data1 int64
data2 int64
dtype: object
key1 key2 data1 data2 0 a one 0.000 5 1 a two 1.000 6 2 b one 2.000 7 3 b two 3.000 8 4 a one 4.000 9
使用案例2
df = pd. DataFrame( { 'key1' : [ 'a' , 'a' , 'b' , 'b' , 'a' ] ,
'key2' : [ 'one' , 'two' , 'one' , 'two' , 'one' ] ,
'data1' : np. arange( 5 ) ,
'data2' : np. arange( 5 , 10 ) } )
print ( df)
df[ 'key1' ] = df[ 'key1' ] . map ( { 'a' : 'c' , "b" : "d" } )
df
key1 key2 data1 data2
0 a one 0 5
1 a two 1 6
2 b one 2 7
3 b two 3 8
4 a one 4 9
key1 key2 data1 data2 0 c one 0 5 1 c two 1 6 2 d one 2 7 3 d two 3 8 4 c one 4 9
使用案例3
df = pd. DataFrame( { 'key1' : [ 'a' , 'a' , 'b' , 'b' , 'a' ] ,
'key2' : [ 'one' , 'two' , 'one' , 'two' , 'one' ] ,
'data1' : np. arange( 5 ) ,
'data2' : np. arange( 5 , 10 ) } )
print ( df)
df[ 'key1' ] = df[ 'key1' ] . map ( { 'a' : 'b' , "b" : "a" } )
df
key1 key2 data1 data2
0 a one 0 5
1 a two 1 6
2 b one 2 7
3 b two 3 8
4 a one 4 9
key1 key2 data1 data2 0 b one 0 5 1 b two 1 6 2 a one 2 7 3 a two 3 8 4 b one 4 9
使用案例4
df = pd. DataFrame( { 'key1' : [ 'a' , 'a' , 'b' , 'b' , 'a' ] ,
'key2' : [ 'one' , 'two' , 'one' , 'two' , 'one' ] ,
'data1' : np. arange( 5 ) ,
'data2' : np. arange( 5 , 10 ) } )
print ( df)
df[ 'key1' ] = df[ 'key1' ] . map ( { 'a' : 'aaaa' } )
print ( df)
key1 key2 data1 data2
0 a one 0 5
1 a two 1 6
2 b one 2 7
3 b two 3 8
4 a one 4 9
key1 key2 data1 data2
0 aaaa one 0 5
1 aaaa two 1 6
2 NaN one 2 7
3 NaN two 3 8
4 aaaa one 4 9
使用案例5
df = pd. DataFrame( { 'key1' : [ 'a' , 'a' , 'b' , 'b' , 'a' ] ,
'key2' : [ 'one' , 'two' , 'one' , 'two' , 'one' ] ,
'data1' : np. arange( 5 ) ,
'data2' : np. arange( 5 , 10 ) } )
print ( df)
df[ 'key1' ] = df[ 'key1' ] . map ( { 'a' : 'aaaa' } ) . fillna( df[ 'key1' ] )
print ( df)
key1 key2 data1 data2
0 a one 0 5
1 a two 1 6
2 b one 2 7
3 b two 3 8
4 a one 4 9
key1 key2 data1 data2
0 aaaa one 0 5
1 aaaa two 1 6
2 b one 2 7
3 b two 3 8
4 aaaa one 4 9
类别变量映射成整型变量
import pandas as pd
df = pd.DataFrame({'x':['good', 'bad', 'good', 'great']}, dtype='category')
df["level"] = df["x"].cat.codes
print(df)
map1=dict( zip(df["x"].cat.codes,df['x'] ) )
print(map1)
df["xx"] =df["level"].map(map1) ## 重新映射回去,判断是否争取
print(df)
这里使用cat.codes进行映射,但是要想获得这个映射,那么就应该使用dict的zip