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

如何用Python处理Excel房产数据,按房间数排序、统计数量及平均房价

房屋Excel数据处理Python实现方案

核心依赖模块

  • pandas:结构化表格数据处理的首选库,原生支持Excel读写、排序、分组聚合等功能,无需手动实现复杂逻辑
  • 辅助依赖:openpyxl(读写.xlsx格式文件)/xlrd(读写旧版.xls格式文件),是pandas操作Excel的底层依赖库

各需求对应实现方法

1. 按房间数排序

使用pandas的sort_values()方法,指定房间数对应的列作为排序依据即可,可通过参数控制升/降序:

# ascending=True为升序,False为降序;ignore_index=True重置排序后的行索引
df_sorted = df.sort_values(by='卧室数', ascending=True, ignore_index=True)

2. 统计各房间数对应的房屋总量

两种实现方式可选:

  • 直接用value_counts()统计指定列的取值出现频次
  • 用groupby()配合size()/count()做分组统计
    示例代码:
# 方法1
room_cnt = df['卧室数'].value_counts().sort_index()
# 方法2
room_cnt = df.groupby('卧室数').size()

3. 按房间数分组计算平均价格

使用groupby()配合mean()方法直接对总价列求分组平均值,也可以用agg()方法一次性完成套数统计、平均价格计算两个需求:

# 仅计算平均价格
avg_price = df.groupby('卧室数')['房屋总价'].mean().round(2)
# 同时统计套数+平均价格
stat_result = df.groupby('卧室数', as_index=False).agg(
    房屋总套数=('卧室数', 'count'),
    平均总价=('房屋总价', lambda x: round(x.mean(),2))
)

完整示例代码

import pandas as pd

# 读取本地Excel文件,替换为你自己的文件路径、工作表名
df = pd.read_excel('房屋数据.xlsx', sheet_name='Sheet1')

# 1. 按房间数升序排序
df_sorted = df.sort_values(by='卧室数', ascending=True, ignore_index=True)

# 2. 打印各居室对应的房屋总量
room_cnt = df['卧室数'].value_counts().sort_index()
for room_num, cnt in room_cnt.items():
    print(f"{room_num}居室房屋共有{cnt}套")

# 3. 计算各居室平均价格并导出结果
stat_result = df.groupby('卧室数', as_index=False).agg(
    房屋总套数=('卧室数', 'count'),
    平均总价=('房屋总价', lambda x: round(x.mean(),2))
)
stat_result.to_excel('房屋统计结果.xlsx', index=False)

前置准备

执行以下命令安装依赖即可:

pip install pandas openpyxl

如果你的文件是.xls旧格式,把openpyxl替换成xlrd==1.2.0即可。
注意代码里的列名(「卧室数」「房屋总价」)需要替换成你自己Excel表中对应的实际列名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 22:54:00