我正在尝试使用以下代码重新标记/合并我的市场标签。然而,一切都只是超快速运行,并没有实际发生映射但只返回原始列。公司是表名,company.market是市场栏目。公司是一个数据框,导入了pandas和numpy。
Eg. company_name market value
'AA' 'Bio-Pharm' $1,000
'BB' 'Biotechnology' $2,000
我想使用我的代码将公司AA的市场重新标记为'Biothchnology'......
market_mapping = {
'Bio-Pharm': 'Biotechnology',
'Biomass Power Generation': 'Biotechnology',
'Bioinformatics': 'Biotechnology',
'Biometrics': 'Biotechnology',
'Biotechnology and Semiconductor': 'Biotechnology',
'Biofuels':'Biotechnology'}
f = lambda x: market_mapping.get(x,x)
company.market = company.market.map(f)
你能帮我解决这里的错误吗?提前感谢您的帮助:)
答案 0 :(得分:0)
company
是一个数据框,market
是一个对象,但还不是一个字符串。
我将代码修改为:
f = lambda x: market_mapping.get(str(x),x)
代码有效!