我试图找出如何用查找表中的描述替换数据集中的占位符值
import pandas as pd
#Survey Data
df=pd.DataFrame({
'age':[653,653,654,653,653],
'cty':[1056,1056,1158,1158,1203],
'eth':[545,545,530,530,545]
})
age cty eth
0 653 1056 NaN
1 653 1056 545
2 654 NaN 530
3 653 1158 530
4 653 1203 545
#Lookup table
lookup=pd.DataFrame({'category':['age', 'age', 'cty','cty', 'cty','eth','eth'],
'value':[653,654,1056,1158,1203,545,530],
'description':['30 to 39','40 to 49','Belgium','Taiwan','Czech Republic',
'White','Other']})
category value description
0 age 653 30 to 39
1 age 654 40 to 49
2 cty 1056 Belgium
3 cty 1158 Taiwan
4 cty 1203 Czech Republic
5 eth 545 White
6 eth 530 Other
因此,数据集中的每一列都与查找表中的一个类别相匹配。我想逐列进行匹配,匹配类别,然后匹配值,用每个类别的适当描述替换值。所以,它看起来像这样:
age cty eth
0 30 to 39 Belgium NaN
1 30 to 39 Belgium White
2 40 to 49 NaN Other
3 30 to 39 Taiwan Other
4 30 to 39 Czech Republic White
目前,我正在为每一列构建一个使用字典的解决方案,并对其进行映射,但这似乎非常笨拙,我必须为每一个类别创建一个单独的字典。当然,我应该能够查找类别,然后查找值来替换这些值
使用“replace方法:它将搜索数据帧中的键,并用关联的值替换找到的键。您的数据帧缺少几个NAN,因此我对其进行了编辑以匹配您发布的内容
相关问题 更多 >
编程相关推荐