pandas - groupby.median() 和 groupby.transform('median') 有什么区别
问题描述
https://www.kaggle.com/kernels/fork/14393912
在 Kaggle 特征工程课程第 3 课第 5 节中,我尝试计算分组数据的中位数,然后我从下面的每个处理中发现了不同的结果。
result1 = df[['Neighborhood', 'GrLivArea']].groupby('Neighborhood')['GrLivArea'].median()
result2 = df[['Neighborhood', 'GrLivArea']].groupby("Neighborhood")["GrLivArea"].transform("median")
print(result1)
print(result2)
然后,结果1显示
Neighborhood
Bloomington_Heights 1455.5
Blueste 1118.0
Briardale 1092.0
Brookside 1231.0
Clear_Creek 1694.0
College_Creek 1504.0
Crawford 1648.0
Edwards 1195.5
Gilbert 1560.0
Green_Hills 1398.5
Greens 1226.0
Iowa_DOT_and_Rail_Road 1128.0
Landmark 1320.0
Meadow_Village 1092.0
Mitchell 1282.0
North_Ames 1200.0
Northpark_Villa 1322.0
Northridge 2418.0
Northridge_Heights 1832.0
Northwest_Ames 1632.0
Old_Town 1374.0
Sawyer 1052.0
Sawyer_West 1575.0
Somerset 1555.0
South_and_West_of_Iowa_State_University 1536.5
Stone_Brook 1767.0
Timberland 1650.5
Veenker 1706.5
Name: GrLivArea, dtype: float64
但 result2 得到
0 1200.0
1 1200.0
2 1200.0
3 1200.0
4 1560.0
...
2925 1282.0
2926 1282.0
2927 1282.0
2928 1282.0
2929 1282.0
Name: GrLivArea, Length: 2930, dtype: float64
可能,它们似乎是相同的过程,但它们中的每一个都显示出不同的聚合方式。(当然,DataFrame的结构不同但没关系。)
有什么区别?
解决方案
推荐阅读
- android - 如何在 Kotlin 中使用 Room 数据库实现登录
- c# - 错误:“EventArgs”不包含“RowIndex”的定义
- python - 创建一个函数以每秒返回米
- spring - 使用内存消息代理处理 Spring Boot Web 套接字 STOMP 中的 ACK 帧
- javascript - 有没有办法在 vue.js 中绑定多个样式值
- javascript - 试图获取 APi 但它没有显示数据
- angular - 为用户执行期间动态添加的所有表单制作电子邮件验证器
- javascript - chrome 扩展错误:服务工作者注册失败
- visual-studio-code - VSCode 的扩展,可以像 PHP Storm 一样管理 Changelist
- flutter - Resetting the state of provider