Использовать элемент pandas в качестве ключа в словаре - PullRequest
1 голос
/ 08 марта 2020

У меня есть словарь: fdict={"X":['tf','pytorch','keras'],"Y":['Gym','Scikit']} и фрейм данных df со столбцами c1 и c2:

  1. c1 c2
  2. X песо
  3. Y long
  4. X Myst

и я хочу получить: 'pytorch' in fdict[df['c1']] как логический ответ, в этом случае это будет True

1 Ответ

1 голос
/ 08 марта 2020

Используйте Series.apply с лямбда-функцией и get, вывод логический Series:

m = df['c1'].apply(lambda x: 'pytorch' in fdict.get(x, None))
print (m)
0     True
1    False
2     True
Name: c1, dtype: bool

Если хотите проверить, хотя бы один True добавить Series.any:

m1 = df['c1'].apply(lambda x: 'pytorch' in fdict.get(x, None)).any()
print (m1)
True
...