python中pandas数据框使用applymap替换数据的一个例子
代码在Python Console中操作的文章源自公式库网-https://www.gongshiku.com/html/202303/pythonzhongpandasshujukuangshiyongapplymaptihuanshujudeyigelizi.html
要求
data = {'Fruit':[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
'Weight':[23, 45, 31, 28, 62, 12, 44, 42, 23, 32],
'Taste':['good', 'so so', 'very good', 'awful', 'awful', 'very good', 'good', 'good', 'awful', 'good'],
'Look':['good', 'good', 'so so', 'awful', 'so so', 'very good', 'very good', 'good', 'awful', 'good']}
将上面数据中的“ Taste”和“ Look”中的值从“很好”更改为4-1。如果只有一列,我会写:文章源自公式库网-https://www.gongshiku.com/html/202303/pythonzhongpandasshujukuangshiyongapplymaptihuanshujudeyigelizi.html
'very good': 4, 'good': 3, 'so so': 2, 'awful': 1文章源自公式库网-https://www.gongshiku.com/html/202303/pythonzhongpandasshujukuangshiyongapplymaptihuanshujudeyigelizi.html
整理
我们使用pandas整理一下原始数据,看上去更清晰文章源自公式库网-https://www.gongshiku.com/html/202303/pythonzhongpandasshujukuangshiyongapplymaptihuanshujudeyigelizi.html
data = {'Fruit':[1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 'Weight':[23, 45, 31, 28, 62, 12, 44, 42, 23, 32], 'Taste':['good', 'so so', 'very good', 'awful', 'awful', 'very good', 'good', 'good', 'awful', 'good'], 'Look':['good', 'good', 'so so', 'awful', 'so so', 'very good', 'very good', 'good', 'awful', 'good']}
import pandas as pd
data_=pd.DataFrame(data)
data_
Fruit Weight Taste Look
0 1 23 good good
1 2 45 so so good
2 3 31 very good so so
3 4 28 awful awful
4 5 62 awful so so
5 6 12 very good very good
6 7 44 good very good
7 8 42 good good
8 9 23 awful awful
9 10 32 good good
文章源自公式库网-https://www.gongshiku.com/html/202303/pythonzhongpandasshujukuangshiyongapplymaptihuanshujudeyigelizi.html
解决
完整的代码如下文章源自公式库网-https://www.gongshiku.com/html/202303/pythonzhongpandasshujukuangshiyongapplymaptihuanshujudeyigelizi.html
data = {'Fruit':[1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 'Weight':[23, 45, 31, 28, 62, 12, 44, 42, 23, 32], 'Taste':['good', 'so so', 'very good', 'awful', 'awful', 'very good', 'good', 'good', 'awful', 'good'], 'Look':['good', 'good', 'so so', 'awful', 'so so', 'very good', 'very good', 'good', 'awful', 'good']}
import pandas as pd
data_=pd.DataFrame(data)
data_
Fruit Weight Taste Look
0 1 23 good good
1 2 45 so so good
2 3 31 very good so so
3 4 28 awful awful
4 5 62 awful so so
5 6 12 very good very good
6 7 44 good very good
7 8 42 good good
8 9 23 awful awful
9 10 32 good good
d = {'very good': 4, 'good': 3, 'so so': 2, 'awful': 1}
data_[["Taste","Look"]]=data_[["Taste","Look"]].applymap(d.get)
data_
Fruit Weight Taste Look
0 1 23 3 3
1 2 45 2 3
2 3 31 4 2
3 4 28 1 1
4 5 62 1 2
5 6 12 4 4
6 7 44 3 4
7 8 42 3 3
8 9 23 1 1
9 10 32 3 3
文章源自公式库网-https://www.gongshiku.com/html/202303/pythonzhongpandasshujukuangshiyongapplymaptihuanshujudeyigelizi.html 文章源自公式库网-https://www.gongshiku.com/html/202303/pythonzhongpandasshujukuangshiyongapplymaptihuanshujudeyigelizi.html