Python Dict,Lambda x,map()不起作用

时间:2015-01-12 05:43:24

标签: python dictionary pandas lambda

我正在尝试使用以下代码重新标记/合并我的市场标签。然而,一切都只是超快速运行,并没有实际发生映射但只返回原始列。公司是表名,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)

你能帮我解决这里的错误吗?提前感谢您的帮助:)

1 个答案:

答案 0 :(得分:0)

company是一个数据框,market是一个对象,但还不是一个字符串。 我将代码修改为:

f = lambda x: market_mapping.get(str(x),x)

代码有效!