在pandas列中插入字典值

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。


白猪掌柜的
浏览 281回答 1
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一些默认值在哪里。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python