TypeError: unhashable type: 'list' карта списка фреймов данных - PullRequest
0 голосов
/ 08 мая 2020

Я пытаюсь сопоставить данные, используя список вместо строки

Если номер находится внутри списка, сопоставьте его с 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' 

1 Ответ

1 голос
/ 09 мая 2020

IICU:

Используйте dict

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'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...