基于租房数据进行数据分析

1、导包

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

2、查看数据

file_data= pd.read_csv("D:\\data\\seaborn-data-master\\链家北京租房数据.csv")
file_data.shape
file_data.info()
file_data.describe()

在这里插入图片描述

3、重复值和空值处理

file_data.duplicated()   #重复值检测
file_data=file_data.drop_duplicates()   #删除重复值
file_data.shape

file_data=file_data.dropna()  #删除空值

4、数据转换类型

4.1、面积数据类型转换

file_data.head()
file_data["面积(㎡)"].values[0][:-2]

data_new=np.array([])
data_area = file_data["面积(㎡)"].values
for i in data_area:
    data_new = np.append(data_new,np.array(i[:-2]))
data_new

在这里插入图片描述

4.2、户型表达方式替换

house_data=file_data["户型"]
temp_list =[]
for i in house_data:
    new_info = i.replace("房间","室")
    temp_list.append(new_info)
file_data.loc[:,'户型'] = temp_list
file_data

在这里插入图片描述

5、房源数量和位置分布分析

file_data["区域"].unique()
# new_df = pd.DataFrame({'区域':file_data["区域"].unique,"数量":[0]*13})
new_df = pd.DataFrame({"区域":file_data["区域"].unique(), "数量":[0]*13})
new_df
area_count =file_data.groupby(by='区域').count()
new_df["数量"] = area_count.values
new_df.sort_values(by="数量",ascending=False)

在这里插入图片描述

7、户型数量基本分析

house_data = file_data["户型"]
house_data.head()
def all_house(arr):
    key = np.unique(arr)
    result = {}
    for k in key:
        mask = (arr == k)
        arr_new = arr[mask]
        v = arr_new.size
        result[k] = v

    return result
house_info = all_house(house_data)

在这里插入图片描述

8、去掉统计数量较小的值

house_data=dict((key,value) for key,value in house_info.items() if value > 50)
# show_house = pd.DataFrame({"户型":[x for x in house_data.keys()],
#             "数量":[x for x in house_data.values()]})
show_houses = pd.DataFrame({"户型": [x for x in house_data.keys()],
              "数量": [x for x in house_data.values()]})
show_houses

在这里插入图片描述

9、图形展示房屋类型

house_type = show_houses["户型"]
house_type_num = show_houses["数量"]
plt.barh(range(11),house_type_num)
plt.yticks(range(11),house_type)
plt.xlim(0,2500)

plt.title("北京市各区域租房数量统计")
plt.xlabel("数量")
plt.ylabel("房屋类型")

#给每个条上面添加具体数字
for x,y in enumerate(house_type_num):
    #print(x,y)
    plt.text(y + 0.5, x - 0.2, "%s" % y)

plt.show()

在这里插入图片描述

10、平均租金分析

df_all = pd.DataFrame({"区域":file_data["区域"].unique(),"房租总金额":[0]*13,"总面积":[0]*13})

file_data.head()
sum_price = file_data["价格(元/月)"].groupby(file_data["区域"]).sum()
sum_area = file_data["面积(㎡)"].groupby(file_data["区域"]).sum()

df_all["房租总金额"]=sum_price.values
df_all["总面积"]=sum_area.values
df_all
df_all["每平方米租金(元)"]=round(df_all["房租总金额"]/df_all["总面积"],2)

在这里插入图片描述

11、图形可视化

num = df_merge["数量"]
price = df_merge["每平方米租金(元)"]
lx = df_merge["区域"]
l = [i for i in range(13)]

fig = plt.figure(figsize=(10, 8), dpi=100)

# 显示折线图
ax1 = fig.add_subplot(111)
ax1.plot(l, price, "or-", label="价格")
for i, (_x, _y) in enumerate(zip(l, price)):
    plt.text(_x+0.2, _y, price[i])
ax1.set_ylim([0, 160])
ax1.set_ylabel("价格")
plt.legend(loc="upper right")

# 显示条形图
ax2 = ax1.twinx()
plt.bar(l, num, label="数量", alpha=0.2, color="green")
ax2.set_ylabel("数量")
plt.legend(loc="upper left")
plt.xticks(l, lx)


plt.show()

在这里插入图片描述

12、面积基本分析

#查看房屋最大面积和最小面积
print('房屋最大面积是%d平米'%(file_data['面积(㎡)'].max()))
print('房屋最小面积是%d平米'%(file_data['面积(㎡)'].min()))

print('房屋最高价格是%d元'%(file_data['价格(元/月)'].max()))
print('房屋最低价格是%d元'%(file_data['价格(元/月)'].min()))

#面积划分
area_divide = [1, 30, 50, 70, 90, 120, 140, 160, 1200]
area_cut = pd.cut(list(file_data["面积(㎡)"]), area_divide)

area_cut_num = area_cut.describe()
area_cut_num

area_per = (area_cut_num["freqs"].values)*100

labels  = ['30平米以下', '30-50平米', '50-70平米', '70-90平米',
'90-120平米','120-140平米','140-160平米','160平米以上']

plt.figure(figsize=(20, 8), dpi=100)
# plt.axes(aspect=1)

plt.pie(x=area_per, labels=labels, autopct="%.2f %%")

在这里插入图片描述

  • 2
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spark是一个非常强大的分布式计算框架,它可以帮助我们处理大规模数据集进行高效的分析。租房数据分析是一个非常有趣的领域,可以通过分析租房市场的趋势、价格变化、租房热点区域等信息来帮助人们更好地了解租房市场。 以下是一个基于Spark的租房数据分析的流程: 1. 数据获取:从各大租房网站获取租房数据,如链家、58同城、赶集网等。 2. 数据清洗:清洗数据集中的无效数据,如缺失值、异常值等,以保证数据分析的准确性。 3. 数据转换:将数据从原始格式转换为Spark可处理的格式,如将CSV格式转换为DataFrame格式。 4. 数据探索:使用Spark SQL和DataFrame API探索数据集中的特征,如租房价格、地区、房屋朝向、房屋面积等,可以使用柱状图、折线图等可视化工具来展示结果。 5. 数据建模:根据探索结果,使用Spark MLlib进行数据建模和机器学习,如使用线性回归来预测租房价格。 6. 数据评估:对建模结果进行评估,如使用均方误差(MSE)来评估线性回归的预测准确性。 7. 数据可视化:使用可视化工具如Tableau、Matplotlib来展示分析结果,如绘制地图显示租房热点区域、绘制价格趋势图等。 通过上述流程,我们可以从租房数据中发现一些有意义的信息,如租房市场的趋势、价格变化、租房热点区域等,这些信息对租房市场的参与者和研究者都有很大的参考价值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值