python项目实战北京租房数据分析
时间: 2023-11-19 22:07:25 浏览: 140
根据提供的引用内容,可以看出这是一篇关于北京租房数据分析的Python项目实战。具体步骤如下:
1.读取数据
```python
import pandas as pd
data_dframe = pd.read_csv('链家北京租房数据.csv',header=0,encoding='gbk')
```
2.数据清洗和预处理
```python
# 删除重复数据
data_dframe.drop_duplicates(inplace=True)
# 删除缺失值
data_dframe.dropna(inplace=True)
# 将面积和价格转换为数值类型
data_dframe['面积(㎡)'] = data_dframe['面积(㎡)'].astype(float)
data_dframe['价格(元/月)'] = data_dframe['价格(元/月)'].astype(int)
# 添加新的列:户型
data_dframe['户型'] = data_dframe['区域'].str.extract('(\d+)室')
```
3.数据分析和可视化
```python
import matplotlib.pyplot as plt
import numpy as np
# 按区域分组统计房源数量和平均租金
new_df_Quyu = data_dframe.groupby('区域').agg({'小区名称':'count','价格(元/月)':'mean'})
new_df_Quyu.reset_index(inplace=True)
new_df_Quyu.rename(columns={'小区名称':'房源数量','价格(元/月)':'平均租金'},inplace=True)
# 按户型分组统计房源数量和平均租金
new_df_Hx = data_dframe.groupby('户型').agg({'小区名称':'count','价格(元/月)':'mean'})
new_df_Hx.reset_index(inplace=True)
new_df_Hx.rename(columns={'小区名称':'户型数量','价格(元/月)':'平均租价'},inplace=True)
# 绘制区域分组柱状图
x_Quyu = new_df_Quyu['区域']
y1_Quyu = new_df_Quyu['房源数量']
y2_Quyu = new_df_Quyu['平均租金']
fig_Quyu,ax1_Quyu = plt.subplots() # 可在一个图片中使用不同的y轴
ax2_Quyu = ax1_Quyu.twinx()
ax1_Quyu.bar(x_Quyu,y1_Quyu,color='blue')
ax2_Quyu.plot(x_Quyu,y2_Quyu,color='red')
ax1_Quyu.set_xlabel('区域')
ax1_Quyu.set_ylabel('房源数量',color='blue')
ax2_Quyu.set_ylabel('平均租金',color='red')
plt.show()
# 绘制户型分组折线图
x_Hx = new_df_Hx['户型']
y1_Hx = new_df_Hx['户型数量']
y2_Hx = new_df_Hx['平均租价']
fig_Hx,ax1_Hx = plt.subplots() # 可在一个图片中使用不同的y轴
ax2_Hx = ax1_Hx.twinx()
ax1_Hx.plot(x_Hx,y1_Hx,color='blue')
ax2_Hx.plot(x_Hx,y2_Hx,color='red')
ax1_Hx.set_xlabel('户型种类')
ax1_Hx.set_ylabel('户型数量',color='blue')
ax2_Hx.set_ylabel('平均租价',color='red')
plt.show()
```
阅读全文