Вставка значений словаря в столбец панд - PullRequest
0 голосов
/ 01 июля 2018

C - мой столбец в кадре данных панд (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 Ответ

0 голосов
/ 01 июля 2018

Похоже, у вас есть список строк, разделенных пробелами , поэтому вам понадобится два цикла, а не один. Попробуйте вместо этого:

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 - это значение по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...