我是靠谱客的博主 文艺石头,最近开发中收集的这篇文章主要介绍pandas映射问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

使用案例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) #lambda在这里其实是在定义一个简单的函数,一个没有函数名的函数。
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
key1key2data1data2
0aone0.0005
1atwo1.0006
2bone2.0007
3btwo3.0008
4aone4.0009

使用案例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
key1key2data1data2
0cone05
1ctwo16
2done27
3dtwo38
4cone49

使用案例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
key1key2data1data2
0bone05
1btwo16
2aone27
3atwo38
4bone49

使用案例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)##
## 可以看到这里的问题是如果映射的值不是全部的key,那么不完整的key会被映射成Nan

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)##
## 加入fillna就可以做到粗存在映射的键值保持原来一样

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

最后

以上就是文艺石头为你收集整理的pandas映射问题的全部内容,希望文章能够帮你解决pandas映射问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部