You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

技术求助:如何将原数据集Top5000高价房源与近地标房源做对比分析

近地标房源房价分析的可行解决方案

问题背景

我拥有80000+行数据的房价数据集,已通过经纬度计算出每套房源到城市地标Iceriseher的距离,发现有5500+套房源距离该地标不足2km。需要验证这些近地标房源是否属于原数据集中的高价房源,以及这类房源在Top5000高价房源中的占比,但之前的代码在数据整合和对比操作时均未成功。

原代码的核心问题

  • 循环内重复创建distance_to_iceriseher_ser,完全冗余且无意义
  • 未将计算出的距离数据添加到原DataFrame中,导致后续访问列时出错
  • 提取Top5000房源的逻辑错误:先筛选近地标再取Top5000,不符合“先找所有高价Top5000再看其中近地标占比”的需求
  • 重新读取数据集后直接赋值Series,未确保索引匹配,可能引发数据错位

修正后的完整代码

import pandas as pd
from math import sin, cos, sqrt, atan2, radians

# 读取原始房价数据集
data = pd.read_csv('binaaz_train.csv')

# 定义经纬度距离计算函数(Haversine公式)
def haversine_distance(lat, lon):
    # Iceriseher地标的经纬度(已转弧度)
    target_lat = radians(40.3672364)
    target_lon = radians(49.8315896)
    lat_rad = radians(lat)
    lon_rad = radians(lon)
    
    delta_lon = target_lon - lon_rad
    delta_lat = target_lat - lat_rad
    
    # 计算距离核心公式
    a = sin(delta_lat / 2)**2 + cos(lat_rad) * cos(target_lat) * sin(delta_lon / 2)**2
    c = 2 * atan2(sqrt(a), sqrt(1 - a))
    return round(6373.0 * c, 5)  # 地球半径取6373.0km

# 为数据集添加距离列
data['distance_to_iceriseher'] = data.apply(lambda row: haversine_distance(row['latitude'], row['longitude']), axis=1)

# 1. 验证近地标房源是否为高价房源:对比价格分位数
print("=== 整体房源价格分位数 ===")
print(data['price'].quantile([0.25, 0.5, 0.75, 0.9, 0.99]))

print("\n=== 距离Iceriseher不足2km的房源价格分位数 ===")
near_landmark_df = data[data['distance_to_iceriseher'] < 2]
print(near_landmark_df['price'].quantile([0.25, 0.5, 0.75, 0.9, 0.99]))

# 2. 计算Top5000高价房源中近地标房源的占比
top_5000_priced = data.nlargest(5000, 'price')
top_5000_near_landmark = top_5000_priced[top_5000_priced['distance_to_iceriseher'] < 2]

count = len(top_5000_near_landmark)
percentage = (count / 5000) * 100

print(f"\n=== Top5000高价房源统计 ===")
print(f"距离Iceriseher不足2km的房源数量:{count}")
print(f"占比:{percentage:.2f}%")

代码说明

  • 用apply替代循环计算距离,代码更简洁且效率更高
  • 直接将距离数据作为新列添加到原DataFrame,避免数据错位问题
  • 通过价格分位数对比,可以直观判断近地标房源的价格水平是否高于整体
  • 先提取所有Top5000高价房源,再筛选其中近地标的房源,逻辑符合需求

内容的提问来源于stack exchange,提问作者nihad aliyev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 07:36:20