【发布时间】:2020-04-22 20:03:05
【问题描述】:
我无法在 Python 中组合几个概念; groupby、映射和变换。我有一个数据框,我希望通过基于组转换现有列来创建新列。像这样:
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'
我认为我已正确设置,但无法使其正常工作。感谢指导,谢谢
【问题讨论】:
-
将
df['type'].s更改为s? -
@QuangHoang 当我这样做时,我得到
AttributeError: 'DataFrame' object has no attribute 'map'错误
标签: python pandas pandas-groupby transform