Python объединить карту с группой и преобразовать - PullRequest
0 голосов
/ 22 апреля 2020

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

s = df[df['type'].eq('office')].groupby(['user','date']).transform('any')
df.loc[:,'type2'] = df['type'].s.map({True:'office',False:'remote'})

Итак, мой фрейм данных будет выглядеть так:

user     date    type   type2
ron     12/1/19  office  office
ron     12/1/19  remote  office
april   12/1/19  office  office
leslie  12/1/19  remote  office
leslie  12/1/19  office  office
leslie  2/1/20   office  office

Но я получаю следующую ошибку:

AttributeError: 'Series' object has no attribute 's'

Я думал, что настроил это правильно, но не получается заставить его работать. Руководство ценится спасибо

1 Ответ

1 голос
/ 22 апреля 2020

Исправьте ваш код

s = df['type'].eq('office').groupby([df['user'],df['date']]).transform('any')
df['type2'] = s.map({True:'office',False:'remote'})
...