python - pandas groupby 列然后根据第三列创建另外两列
问题描述
我正在尝试按列对数据框进行分组,并根据此分组获取总的“已批准”或“未批准”值,但没有成功。
例子:
PlaceTest | Approved
21 | 1
21 | 0
22 | 1
22 | 0
我想要的输出:
PlaceTest | Approved | NotApproved
21 | 1 | 1
22 | 1 | 1
谢谢!
解决方案
给定
>>> df
PlaceTest Approved
0 21 1
1 21 0
2 22 1
3 22 0
你可以发出
>>> df.assign(NotApproved=1 - df['Approved']).groupby('PlaceTest').sum().reset_index()
PlaceTest Approved NotApproved
0 21 1 1
1 22 1 1
推荐阅读
- azure-devops - Azure 管道将 pom 存储库协议从 https 更改为 http
- azure - 如何使用 Visio 为 Kusto 绘制应用程序架构图?
- c++ - 在没有 system() 的父窗口中运行外部程序
- html - 有人可以告诉我为什么我的悬停和焦点不起作用
- mysql - MySQL - 计算多列的行
- c++ - 库包括 WinRT Broken
- javascript - 如何以我从 redux 获得的状态保存数据,然后直接渲染而不是使用 .map() 函数?
- javascript - 无法显示图像无序列表中的下一个和上一个所有图像
- flutter - 我可以将我的动态 JSON 派生 Listview 与 Flutter 中的 SliverList 集成吗?
- android-studio - 如何使用 dataBindingUtil 膨胀每个布局(使用 android studio)