本项目涉及数据清洗及分析时候的思路,如果仅在CSDN中看,可能会显得有些乱,建议去本人和鲸社区对应的项目中去查看,源代码和数据集都是免费下载的。
声明:本项目的成果可无偿分享,用于学习交流。但请勿用于商业用途或倒卖。一经发现情节严重者,将依法追究相关责任。
1.项目背景
悉尼作为澳大利亚最大的城市之一,其房地产市场一直是国内外投资者和居民关注的焦点,近年来,随着人口增长、城市化进程加速,以及经济环境的变化,悉尼及其周边地区的房产需求和价格波动频繁。为了更好地理解这一市场的现状与趋势,本项目针对悉尼房地产市场进行了全面的数据分析,旨在通过科学的手段挖掘市场特征,为房地产投资决策和政策制定提供数据支持。
2.数据说明
字段 | 说明 |
---|---|
rea_property_id | 数据集中房产的唯一标识符 |
property_type | 房产的类型或类别 |
state | 房产所在澳大利亚的州 |
postcode | 房产的邮政编码 |
year_built | 房产建成的年份 |
last_sold_date | 销售历史中房产上次出售的日期 |
last_sold_agency | 销售历史中涉及房产上次出售的代理机构 |
bedrooms | 房产中的卧室数量 |
bathrooms | 房产中的浴室数量 |
findAgentsURI | 用于查找与房产相关代理的统一资源标识符(URI) |
floor_area | 房产的总楼面面积 |
fullSuburb | 房产所在郊区的全名 |
house_type | 房屋类型 |
lat | 房产地理位置的纬度 |
lon | 房产地理位置的经度 |
photo_count | 与房产关联的照片数量 |
images_urls | 指向房产图片的 URL 列表 |
street_address | 房产的完整地址 |
suburb | 房产所在的郊区名称 |
url | 指向房产列表的网址 |
land_size | 综合土地尺寸信息(数值+单位) |
sales_history | 房产的历史销售信息 |
land_size_num | 表示房产土地尺寸的数值 |
land_size_unit | 土地尺寸的测量单位(例如,平方米) |
floor_area_num | 表示房产楼面面积的数值 |
avm_estimate_lastUpdated | 自动估价模型(AVM)估计最后更新的日期 |
estimated_price | 房产的估计价格 |
estimated_price_confidence | 与估计价格相关的置信水平 |
estimated_value | 房产的估计价值 |
estimated_value_high | 估计的房价最高值 |
estimated_value_low | 估计的房价最低值 |
offMarket | 指示房产是否目前不在市场上 |
parking | 与房屋关联的停车位 |
listing_type | 列表类型(出租/出售) |
availability | 房产的可用性状态 |
rent_price | 租金价格 |
rent_currency | 租金价格的货币单位 |
rent_bond | 租金押金 |
sold_date | 出售日期 |
property_history_link | 房产历史链接 |
3.Python库导入及数据读取
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
import re
from sklearn.impute import KNNImputer
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score
from sklearn.decomposition import PCA
# 设置显示选项
pd.set_option('display.max_columns', None) # 显示所有列
pd.set_option('display.max_rows', None) # 显示所有行
data = pd.read_csv("/home/mw/input/11213446/Australia real estate properties.csv")
4.数据预览及数据清洗
print('查看数据信息:')
data.info()
查看数据信息:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1000 entries, 0 to 999
Data columns (total 42 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 rea_property_id 1000 non-null int64
1 property_type 1000 non-null object
2 state 1000 non-null object
3 postcode 1000 non-null int64
4 year_built 153 non-null float64
5 last_sold_date 990 non-null object
6 last_sold_agency 935 non-null object
7 bedrooms 1000 non-null int64
8 bathrooms 1000 non-null int64
9 findAgentsURI 992 non-null object
10 floor_area 1000 non-null object
11 fullSuburb 1000 non-null object
12 house_type 1000 non-null object
13 lat 1000 non-null float64
14 lon 1000 non-null float64
15 photo_count 997 non-null float64
16 images_urls 1000 non-null object
17 street_address 1000 non-null object
18 suburb 1000 non-null object
19 url 1000 non-null object
20 land_size 1000 non-null object
21 sales_history 1000 non-null object
22 land_size_num 1000 non-null int64
23 land_size_unit 1000 non-null object
24 floor_area_num 345 non-null float64
25 avm_estimate_lastUpdated 988 non-null object
26 estimated_price 10 non-null object
27 estimated_price_confidence 10 non-null object
28 estimated_value 1000 non-null object
29 estimated_value_high 10 non-null object
30 estimated_value_low 10 non-null object
31 offMarket 1000 non-null bool
32 parking 959 non-null float64
33 listing_type 0 non-null float64
34 availability 0 non-null float64
35 rent_price 0 non-null float64
36 rent_bond 0 non-null float64
37 rent_currency 0 non-null float64
38 sold_date 0 non-null float64
39 property_history_link 0 non-null float64
40 description 0 non-null float64
41 agents 0 non-null float64
dtypes: bool(1), float64(15), int64(5), object(21)
memory usage: 321.4+