为了账号安全,请及时绑定邮箱和手机立即绑定

在pandas列中插入字典值

在pandas列中插入字典值

白猪掌柜的 2021-04-01 17:18:24
C是我在pandas dataframe(df)中的列。它由许多列表组成。          C  [ab ab bc abb]  [ll li lo ll]D是我的字典,如下。D={'ab':0, 'bc':1, 'abb':2, 'll':3, 'li':4, 'lo':5}现在,我想将字典的值分配给列表,为此,我正在使用下面提到的代码。df.C= [D[item] for item in df.C]在这里,我得到这个错误:TypeError:列表索引必须是整数或切片,而不是str。
查看完整描述

1 回答

?
冉冉说

TA贡献1877条经验 获得超1个赞

看起来您有一个用空格分隔的字符串列表,因此您将需要两个循环,而不是一个循环。尝试以下方法:

df.C = [[D[j] for j in i.split()] for i df.C]

如果必须处理丢失的密钥,请dict.get改用:

df.C = [[D.get(j, -1) for j in i.split()] for i df.C]

-1一些默认值在哪里。


查看完整回答
反对 回复 2021-04-20
  • 1 回答
  • 0 关注
  • 280 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信