这是一份北京的租房数据,总计7000 多 条记录,分为 8 个同样结构的 CSV 数据文件。
首先通过 pandas 将这些数据文件合并到一起,然后进行数据处理,最后将清洗好的数据写到 sqlite 。
# 合并数据文件
dir = r"C:\Users\Administrator\Desktop\RentFromDanke"
data_list = []
for i in range(1, 9):
path = f"{dir}\\bj_danke_{i}.csv"
data = pd.read_csv(path)
data_list.append(data)
data = pd.concat(data_list)
## 数据清洗
# 数据重复处理: 删除重复值
# print(data[data.duplicated()])
data.drop_duplicates(inplace=True)
data.reset_index(drop=True, inplace=True)
# 缺失值处理:直接删除缺失值所在行,并重置索引
# print(data.isnull().sum())
data.dropna(axis=0, inplace=True)
data.reset_index(drop=True, inplace=True)
# 异常值清洗
data['户型'].unique()
# print(data[data['户型'] == '户型'])
data = data[data['户型'] != '户型']
# 清洗,列替换
data.loc[:, '地铁'] = data['地铁'].apply(lambda x: x.replace('地铁:', ''))
# 增加列
data.loc[:, '所在楼层'] = data['楼层'].apply(lambda x: int(x.split('/')[0]))
data.loc[:, '总楼层'] = data['楼层'].apply(lambda x: int(x.replace('层', '').split('/')[-1]))
data.loc[:, '地铁数'] = data['地铁'].apply(lambda x: len(re.findall('线', x)))
data.loc[:, '距离地铁距离'] = data['地铁'].apply(lambda x: int(re.findall('(\d+)米', x)[-1]) if re.findall('(\d+)米', x) else -1)
# 数据类型转换
data['价格'] = data['价格'].astype(np.int64)
data['面积'] = data['面积'].astype(np.int64)
data['距离地铁距离'] = data['距离地铁距离'].astype(np.int64)
#数据保存
# 查看保存的数据
print(data.info)
# 保存清洗后的数据 sqlite
engine = create_engine('sqlite:///D:/GitHub/bigdata_analyse/rent.db')
data.to_sql('rent', con=engine, index=False, if_exists='append')
清洗后的数据:
image-20201229140243522
该数据集总共有 6024 个房源信息,平均每平米的租金为 169 元,每套房源的平均出租面积为 15.68 平米。
image-20210104104504486
房源数量分布情况如下,可以看到朝阳和通州这两个地区的房源数量要远大于其它区,说明这两个地方的租赁市场比较活跃,人员流动和人口密度可能也比较大。
image-20201229144409973
房租最贵的小区 TOP 10。半壁街南路 1 号院的房租最高,达到 596 元/平米,是平均值 169 元/平米的 3 倍。
image-20201229150712140
从户型的房源数量分布来看,主要集中在 2-4 室的户型。之前也分析了,每套房源的平均出租面积为 15.68 平米,可见大部分房源都是合租,毕竟房租那么贵,生活成本太高了。
image-20201229152421150
国家规定楼层 7 层以上需要装电梯,依据这个规定,我们根据楼层数来判断房源是否有电梯。
从下图可以看到,电梯房的房源数量比较多,毕竟楼层高,建的房子多,此外,电梯房平均每平米的租金也要比非电梯房贵 10 块钱。
image-20201229164318475
image-20201229164342776
在区分出电梯房之后,我们再引入楼层的纬度进行分析。
从租金上看,不管是电梯房还是非电梯房,低楼层的租金都会比较贵一些。因为北京地处北方,天气较干燥,不会有回南天,而且低楼层出行较为方便。电梯房的高楼层,租金也会比较贵,这大概是因为高楼层的风景较好。
南方天气潮湿,在春天的时候,有时会出现 回南天 这一气象,导致低楼层会出现地板、墙壁渗水,所以在南方一般都不爱租低层。
从房源数量上看,非电梯房的高层房源最多,低层房源最少。说明非电梯房的高层房源不容易租出去,这点在租金上也有所体现。
image-20201229160336106
从地理位置上来看,交通越便利,租金也越贵,这个符合一般认知。
image-20201229161352776
image-20201229162308410