首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Groupby id和create column boolean column

Groupby id和create column boolean column
EN

Stack Overflow用户
提问于 2020-04-06 21:24:54
回答 1查看 74关注 0票数 1

我有一个交易的数据框架:

代码语言:javascript
运行
复制
  id |   type |    date
  453| online | 08-12-19
  453| instore| 08-12-19
  453| return | 10-5-19

有4种可能的类型: online,instore,return,other。我想要创建布尔列,在这些列中,我可以看到每个唯一的客户是否具有给定的事务类型。

我尝试了下面的代码,但它没有给我想要的东西。

代码语言:javascript
运行
复制
transactions.groupby('id')['type'].transform(lambda x: x == 'online') == 'online' 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-06 21:31:07

为每个组的indicaro列使用带有聚合maxget_dummies,最后为自定义订单添加DataFrame.reindex,并添加由0填充的可能的misisng类型

代码语言:javascript
运行
复制
t = ['online', 'instore', 'return', 'other']
df = pd.get_dummies(df['type']).groupby(df['id']).max().reindex(t, axis=1, fill_value=0)
print (df)
     online  instore  return  other
id                                 
453       1        1       1      0

join per groups和Series.str.get_dummies的另一个想法

代码语言:javascript
运行
复制
t = ['online', 'instore', 'return', 'other']
df.groupby('id')['type'].agg('|'.join).str.get_dummies().reindex(t, axis=1, fill_value=0)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61060877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档