pandas - TypeError: unhashable type: 'list' 数据框列表映射
问题描述
我正在尝试使用列表而不是字符串来映射数据
如果数字在列表内,则将其映射到xyz
有什么办法可以使用列表来做到这一点?
import pandas as pd
df = pd.DataFrame({'INDICATOR': ['0001024561', 'B', '0001024561', 'D'], 'VALUE': [10, 9, 8, 7]})
company_dict = {[
'0001024561',
'0001024576',
]: 'xyz'}
df['NEW_VALUE'] = df['INDICATOR'].map(company_dict)
print(df)
错误:
TypeError: unhashable type: 'list'
解决方案
重症监护病房:
使用字典
company_dict = {'0001024561':'xyz','0001024576':'xyz'}
df['NEW_VALUE'] = df['INDICATOR'].map(company_dict)
使用列表
lst=['0001024561','0001024576']
df.loc[df['INDICATOR'].isin(lst),'NEW_VALUE']='xyz'
推荐阅读
- javascript - Puppeteer - 删除由exposeFunction 公开的函数?
- facebook - 如何在脸书上制作广告
- git - Git - 如何防止从主分支合并或拉到特定分支?
- node.js - 如何使用一个命令运行 node server.js 和 npm start
- visual-studio-code - libpcap 的问题 - 分段错误
- prometheus - Prometheus 服务器启动失败
- javascript - MongoDB 架构中具有不同对象类型的数组
- kendo-ui - 在每个里程碑处划定界限
- java - NoSuchMethodError: org.springframework.data.redis.core.RedisTemplate.delete(Ljava/lang/Object;)V 同时将 Spring boot 从 1.5.3 升级到 2.1.6
- php - 不正确的舍入问题,向下舍入而不是向上舍入