python - 使用Python在数据框中添加平均值列
问题描述
我想创建一个新的数据框,其中包含性别、孩子数量、保险价格以及个人是否吸烟。下面是我的数据框的示例。
Sex Children Insurance Smoker
Male 3 392.48 Yes
Male 6 782.68 Yes
Male 6 438.21 No
Female 1 125.98 Yes
Female 1 58.32 No
Female 4 585.12 Yes
Female 4 356.12 No
到目前为止,我使用代码得到了这个
df = pd.DataFrame(insurance).groupby(["sex", "children", "smoker"]).size()
#which outputs
sex children smoker
female 1 yes 1
1 no 1
4 yes 1
4 no 1
male 3 yes 2
6 yes 1
6 no 1
我如何根据他们有多少孩子以及他们是否吸烟来为每个性别添加一列平均保险?我尝试添加 mean("insurance") 但得到了一个错误,当然。非常感谢你的帮助!
解决方案
df.groupby(["Sex", "Children", "Smoker"],as_index=False)["Insurance"].mean()
#output
Sex Children Smoker Insurance
0 Female 1 No 58.32
1 Female 1 Yes 125.98
2 Female 4 No 356.12
3 Female 4 Yes 585.12
4 Male 3 Yes 392.48
5 Male 6 No 438.21
6 Male 6 Yes 782.68
那是你要的吗?
Sex Children Smoker size mean
0 Female 1 No 1 58.32
1 Female 1 Yes 1 125.98
2 Female 4 No 1 356.12
3 Female 4 Yes 1 585.12
4 Male 3 Yes 1 392.48
5 Male 6 No 1 438.21
6 Male 6 Yes 1 782.68
推荐阅读
- python - 像直方图一样填充 2D ndarray 的最快方法
- mysql - MySQL 为具有相同索引的两个大表优化了性能
- .net-core - 在 .net core 中使用相同的环境变量指向 Mac 和 Windows 上的用户主目录
- r - 在 apply 中使用 if 语句创建新变量
- kotlin - Kotlin 通用接口解析器
- flutter - Flutter:firebase_admob,调用 isLoaded-PlatformException 时出错(no_ad_for_id,isAdLoaded 失败,id=444270692 不存在添加,null)
- javascript - redux-toolkit 中的异步调度
- python - 如何比较两个二进制文件或文件集并在 Python 中显示它们之间的差异?
- javascript - 地图功能不渲染元素
- javascript - Angular:路由器导航引发 JIT 编译失败