pandas - pandas dataframe groupby 然后应用函数
问题描述
我想计算每天和每个级别通过级别的百分比
示例数据集如下
日期 | 过关 | 级别没有 | 数数 |
---|---|---|---|
2021-05-05 | 真的 | 1 | 10 |
2021-05-05 | 错误的 | 1 | 3 |
2021-05-05 | 真的 | 2 | 8 |
2021-05-10 | 真的 | 2 | 5 |
2021-05-10 | 错误的 | 2 | 9 |
我想要的结果看起来
日期 | 级别没有 | 通过率 |
---|---|---|
2021-05-05 | 1 | 0.7692 |
解决方案
df = pd.DataFrame(df.values.repeat(df.count, axis=0), columns=df.columns)
df.groupby(['date','level no'])['pass the level'].astype(int).mean()
您可能首先必须转换布尔列字符串,以便第一个字母是大写字母:
df['pass the level'] = df['pass the level'].str.upper()
推荐阅读
- flutter - 颤振飞镖时间戳到时间码没有正确转换
- typescript - 如何使用 Typescript 在安全规则单元测试中正确初始化 Firestore 测试应用程序?
- react-native - 什么是 react-native-cli 和 @react-native-community/cli?
- linux - Linux CentOS 服务器从不转储内核
- java - elasticsearch插件中不允许位置参数
- angular - 如何实现角度响应轮播
- azure - 需要支持以最终确定将 Azure SQL MI 数据库从 Azure 云公司帐户迁移到 Azure 云客户帐户的迁移方法
- java - 即使退出 GUI,如何在 GUI 中保留表的值
- python - 如何在谷歌驱动器中只上传一次文件夹?
- java - 新的 response.listener 在 StringRequest 中不起作用