Как отфильтровать строки pandas df, используя значение столбцов в качестве ключа к словарю на основе его возвращенного значения - PullRequest
1 голос
/ 22 мая 2019

У меня есть фрейм данных, который мне нужно отфильтровать, когда значение, возвращаемое словарем с использованием значения определенного столбца, используется в качестве ключа словаря для возврата значения ключей.

Я смогчтобы отфильтровать строки на основе значения столбцов, но когда я пытаюсь использовать значение столбцов в словаре подобным образом, он возвращает ошибку.

TypeError: 'Series' objects are mutable, thus they cannot be hashed
indexNames = df[ accounting_type_dict[df['fund_id']] == 'ETFs' ].index
df.drop(indexNames , inplace=True)

Ответы [ 2 ]

2 голосов
/ 22 мая 2019

Используя map, затем фильтр

newdf=df[df['fund_id'].map(accounting_type_dict) == 'ETFs'].copy()
1 голос
/ 22 мая 2019

Вы можете попробовать заменить столбец соответствующими значениями из dict. (Возможно, вам придется использовать карту вместо замены в зависимости от размера DataFrame.)

indexNames = df[ df['fund_id'].replace(accounting_type_dict) == 'ETFs' ].index
df.drop(indexNames , inplace=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...