python - 如何获得分箱列的中位数
问题描述
假设我在下面有一个数据框:
df[['Age']]
Age
1 22-24
2 40-44
3 55-59
4 40-44
5 22-24
我如何获得具有中位年龄的列,如下所示。
df[['MedianAge']]
MedianAge
1 23
2 42.5
3 56.5
4 42.5
5 23
解决方案
def f(x):
ages = x.split('-')
return (float(ages[1]) + float(ages[0])) / 2
df['MedianAge'] = df['Age'].apply(lambda x: f(x))
推荐阅读
- java - 如何使用未找到但已枚举的密钥?(安卓工作室)
- python - Django 最佳实践——在执行业务逻辑时确保原子性
- google-apps-script - 当我想将 GAS 项目作为附加组件发布时,触发器的类型是否仅限于一种?
- rust - 克隆 &[u32] 到 [u32]
- c++ - 为什么我收到一条错误消息,因为我没有在 Arduino 的范围内声明变量?
- sqlalchemy - 使用 SQLAlchemy 关系时是否需要外键
- ibm-cloud - 将 IBM Cloud Object Storage 链接到 Watson Studio 新项目?
- signalr - 如何在用作 SignalR 背板的 Redis 服务器上缓存数据?
- java - thymeleaf utext / th:utext 自己插入换行符,为什么?
- reactjs - “找不到所需的文件。远程:名称:index.html”每当我通过 Heroku、Zeit/Now 或 Netlify 部署我的 ReactJS 应用程序时,我都会遇到这个错误