python - 在 Pandas 中分组查找中位数
问题描述
我有一个属性数据集。我想根据以下几个属性知道中位数价格:
suburb
, rooms
, bathrooms
, type
, car
, age
。然后我想添加一个新的布尔列来说明该物业是否定价过高。
我的数据框样本(原始数据框有 180 个郊区):
house=pd.DataFrame({'subrub':['BALWYN NORTH','ARMADALE','ARMADALE','PASCOE VALE'],
'price':[1350000.0,800000.0,1250000.0,680000.0],
'rooms':[3,4,7,2],
'bathroom':[1.0,2.0,4.0,1.0],
'type':['h','t','t','u'],
'car':['2.0','1.0','4.0','1.0'],
'age':[59.0,69.0,12.0,14.0]})
到目前为止,我已按郊区分组。我知道我可以median
用来找到中位数,但我不确定如何处理其他属性。任何提示都会有所帮助。谢谢,
解决方案
像这样
def over_price(elements):
median = np.median(elements)
return elements > median
house["OverPrice"] = house.groupby(["subrub","rooms","bathroom","type","car","age"])["price"].transform(over_price)
推荐阅读
- python - 访问可调用迭代器对象的内容
- javascript - 如何在javascript / Google Apps脚本(GAS)中以点表示法打印出未知深度数组的所有对象属性
- php - Laravel Excel 传递变量
- java - Spring Boot 访问 application.properties 以进行 JUnit 测试
- dart - 怎么买卡?
- express - 在 apollo-server-express 中增加身体限制大小
- javascript - 当使用 fetch、axios 等时,`catch` 不会处理错误,而是您的应用程序崩溃
- django - 数据库被神秘的计数查询超载
- ruby-on-rails - PG::UndefinedTable:错误:关系“用户”不存在 - Azure 数据库
- javascript - 书架解决了承诺,但不保存到数据库中