Python 将 map 与 groupby 结合并转换
Python combine map with groupby and transform
我无法结合 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'
我以为我设置正确但无法正常工作。感谢指导谢谢
修正你的代码
s = df['type'].eq('office').groupby([df['user'],df['date']]).transform('any')
df['type2'] = s.map({True:'office',False:'remote'})
我无法结合 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'
我以为我设置正确但无法正常工作。感谢指导谢谢
修正你的代码
s = df['type'].eq('office').groupby([df['user'],df['date']]).transform('any')
df['type2'] = s.map({True:'office',False:'remote'})