1. 房屋价格数据集

该数据集为Kainat Jamil于2025年11月8日在Kaggle发布的Housing Price Dataset

我用夸克网盘给你分享了「房价数据集——影响房价的各种因素csv文件」:https://pan.quark.cn/s/404d8771bc32

在这里插入图片描述

核心用于分析影响房屋价格的因素,包含房屋价格、面积、卧室数量、浴室数量、楼层数停车位、主干道接入、装修状况等属性,可支持探索性数据分析、数据可视化和预测模型构建,对数据分析师、学生及机器学习爱好者的房地产分析工作具有价值

其可用性评分为10.00,采用CC0:公共领域(详情查阅:https://creativecommons.org/publicdomain/zero/1.0/)许可。
在这里插入图片描述

数据集源地址:https://www.kaggle.com/datasets/kainatjamil12/housing
在这里插入图片描述

一、数据集基础信息

信息类别 具体内容 关键说明
数据集名称 Housing Price Dataset — Factors Affecting Home 明确聚焦“影响房屋价格的因素”
作者 Kainat Jamil 数据集的创建与更新主体
更新时间 2025年11月8日 截至文档记录时,数据时效性较强
可用性评分 10.00 满分评价,表明数据集易用性极高
许可类型 CC0:Public Domain 公共领域许可
预计更新频率 Never 无后续更新计划,数据为静态版本
核心标签 Data Analytics、Data Visualization、Exploratory Data Analysis、Housing 明确数据集的应用领域与分析方向

二、数据集背景与意义

  1. 行业价值:理解房地产行业是识别投资机会和经济趋势的关键,当前住房需求持续上升且房屋价格差异显著,通过分析 housing 数据可精准定位影响房价的核心因素。
  2. 目标人群:专为三类人群设计,包括数据分析师学生以及机器学习爱好者,尤其适合聚焦于房地产分析方向的使用者。
  3. 核心作用:为使用者提供关于“多类属性如何影响房屋整体价值”的深度洞察,填补房地产数据分析领域的基础数据需求。

三、数据集内容详情

数据集涵盖房屋的多维度属性,每一列均代表一个可能影响房屋市场价值的独立特征,具体分为两类:

  • 核心基础属性:直接关联房屋物理特征与价值的关键指标,包括价格(Price)面积(size)卧室数量(number of bedrooms)浴室数量(baths)楼层数(storeys)
  • 附加功能属性:影响房屋居住便利性与舒适度的特征,包括停车位(parking)主干道接入(main road access)装修状况(furnishing condition)
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings('ignore')

# 设置中文字体
plt.rcParams["font.family"] = ["SimHei"]
plt.rcParams['axes.unicode_minus'] = False

df = pd.read_csv('Housing.csv')

print("数据集前5行:")
print(df.head())

print("\n数据集基本信息:")
print(df.info())

print("\n数值型变量统计描述:")
print(df.describe())

print("\n分类变量唯一值:")
categorical_cols = df.select_dtypes(include=['object']).columns
for col in categorical_cols:
    print(f"{col}: {df[col].unique()}")

print("\n缺失值统计:")
print(df.isnull().sum())

print(f"\n数据集形状:{df.shape}(行:{df.shape[0]}, 列:{df.shape[1]})")

# 1. 装修状况对价格影响分析
plt.figure(figsize=(10, 6))
furnish_types = df['furnishingstatus'].unique()
price_data = [df[df['furnishingstatus'] == ft]['price'] for ft in furnish_types]

# 创建箱线图
box = plt.boxplot(price_data, patch_artist=True, vert=False, labels=furnish_types, widths=0.6)

# 设置样式
colors = ['#3498db', '#f39c12', '#9b59b6']
for patch, color in zip(box['boxes'], colors):
    patch.set_facecolor(color)
    patch.set_alpha(0.7)

# 添加均值标注
for i, ft in enumerate(furnish_types):
    mean_price = df[df['furnishingstatus'] == ft]['price'].mean()
    plt.text(mean_price, i + 1, f'均值: {mean_price:.0f}', ha='left', va='center')

plt.title('不同装修状况的房屋价格分布')
plt.xlabel('价格')
plt.grid(True, alpha=0.3, axis='x')
plt.tight_layout()
plt.savefig('furnish_vs_price.png', dpi=300)
plt.close()

# 2. 关键分类变量分析
fig, axes = plt.subplots(1, 3, figsize=(18, 6))
key_vars = [('mainroad', '主干道接入'), ('airconditioning', '空调配置'), ('prefarea', '优选区域')]

for i, (var, var_name) in enumerate(key_vars):
    data = [df[df[var] == 'no']['price'], df[df[var] == 'yes']['price']]
    box = axes[i].boxplot(data, patch_artist=True, labels=['无', '有'], widths=0.6)

    # 设置颜色和样式
    for patch, color in zip(box['boxes'], ['#e74c3c', '#2ecc71']):
        patch.set_facecolor(color)
        patch.set_alpha(0.7)

    # 添加统计信息
    yes_mean = data[1].mean()
    axes[i].text(2, yes_mean, f'均值: {yes_mean:.0f}', ha='left', va='center')

    axes[i].set_title(f'{var_name} vs 价格')
    axes[i].grid(True, alpha=0.3, axis='y')

plt.tight_layout()
plt.savefig('key_categorical_vs_price.png', dpi=300)
plt.close()

# 3. 卧室/浴室数量分析
fig, axes = plt.subplots(1, 2, figsize=(15, 6))
room_types = [('bedrooms', '卧室数量', '#3498db'), ('bathrooms', '浴室数量', '#e74c3c')]

for i, (room_var, title, color) in enumerate(room_types):
    room_groups = df.groupby(room_var)['price'].agg(['count', 'mean', 'median']).reset_index()

    # 绘制柱状图和折线图
    axes[i].bar(room_groups[room_var], room_groups['mean'], color=color, alpha=0.7)
    axes[i].plot(room_groups[room_var], room_groups['median'], color='red', marker='o')

    # 添加数量标注
    for _, row in room_groups.iterrows():
        axes[i].text(row[room_var], row['mean'] + 100000, f'数量: {int(row["count"])}', ha='center')

    axes[i].set_title(f'{title} vs 价格')
    axes[i].set_xlabel(title)
    axes[i].set_ylabel('价格')
    axes[i].grid(True, alpha=0.3, axis='y')

plt.tight_layout()
plt.savefig('rooms_vs_price.png', dpi=300)
plt.close()

输出结果:

数据集前5行:
      price  area  bedrooms  ...  parking  prefarea furnishingstatus
0  13300000  7420         4  ...        2       yes        furnished
1  12250000  8960         4  ...        3        no        furnished
2  12250000  9960         3  ...        2       yes   semi-furnished
3  12215000  7500         4  ...        3       yes        furnished
4  11410000  7420         4  ...        2        no        furnished

[5 rows x 13 columns]

数据集基本信息:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 545 entries, 0 to 544
Data columns (total 13 columns):
 #   Column            Non-Null Count  Dtype 
---  ------            --------------  ----- 
 0   price             545 non-null    int64 
 1   area              545 non-null    int64 
 2   bedrooms          545 non-null    int64 
 3   bathrooms         545 non-null    int64 
 4   stories           545 non-null    int64 
 5   mainroad          545 non-null    object
 6   guestroom         545 non-null    object
 7   basement          545 non-null    object
 8   hotwaterheating   545 non-null    object
 9   airconditioning   545 non-null    object
 10  parking           545 non-null    int64 
 11  prefarea          545 non-null    object
 12  furnishingstatus  545 non-null    object
dtypes: int64(6), object(7)
memory usage: 55.5+ KB
None

数值型变量统计描述:
              price          area  ...     stories     parking
count  5.450000e+02    545.000000  ...  545.000000  545.000000
mean   4.766729e+06   5150.541284  ...    1.805505    0.693578
std    1.870440e+06   2170.141023  ...    0.867492    0.861586
min    1.750000e+06   1650.000000  ...    1.000000    0.000000
25%    3.430000e+06   3600.000000  ...    1.000000    0.000000
50%    4.340000e+06   4600.000000  ...    2.000000    0.000000
75%    5.740000e+06   6360.000000  ...    2.000000    1.000000
max    1.330000e+07  16200.000000  ...    4.000000    3.000000

[8 rows x 6 columns]

分类变量唯一值:
mainroad: ['yes' 'no']
guestroom: ['no' 'yes']
basement: ['no' 'yes']
hotwaterheating: ['no' 'yes']
airconditioning: ['yes' 'no']
prefarea: ['yes' 'no']
furnishingstatus: ['furnished' 'semi-furnished' 'unfurnished']

缺失值统计:
price               0
area                0
bedrooms            0
bathrooms           0
stories             0
mainroad            0
guestroom           0
basement            0
hotwaterheating     0
airconditioning     0
parking             0
prefarea            0
furnishingstatus    0
dtype: int64

数据集形状:(545, 13)(行:545, 列:13)

Process finished with exit code 0

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐