用Python实现链家二手房数据分析
时间: 2023-11-05 10:50:45 浏览: 53
链家二手房数据分析可以通过Python的数据分析库pandas、数据可视化库matplotlib和数据获取库requests来实现。以下是一个简单的数据分析流程:
1.获取数据:通过requests库获取链家二手房数据,并将数据保存为CSV文件。
```python
import requests
import pandas as pd
# 获取数据
url = 'https://bj.lianjia.com/ershoufang/'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'}
r = requests.get(url, headers=headers)
r.encoding = r.apparent_encoding
# 将数据保存为CSV文件
df = pd.read_html(r.text)[0]
df.to_csv('lianjia.csv', index=False)
```
2.数据清洗:清洗数据,删除无用的列,处理缺失值和异常值。
```python
# 数据清洗
df = pd.read_csv('lianjia.csv')
df.drop(['id', 'url', 'community', 'district'], axis=1, inplace=True)
df.dropna(inplace=True)
df = df[df['price'] > 0]
```
3.数据分析:利用pandas进行数据统计分析,例如计算均价、面积占比、房源数量等。
```python
# 数据统计分析
print('二手房均价:{:.2f}万元'.format(df['price'].mean()))
print('面积占比:\n{}'.format(df['area'].value_counts(normalize=True)))
print('房源数量:\n{}'.format(df['district'].value_counts()))
```
4.数据可视化:使用matplotlib进行数据可视化,例如绘制二手房均价和房源数量的柱状图、绘制面积分布的饼图等。
```python
import matplotlib.pyplot as plt
# 绘制二手房均价和房源数量的柱状图
fig, ax = plt.subplots(1, 2, figsize=(12, 4))
df.groupby('district')['price'].mean().sort_values().plot(kind='barh', ax=ax[0])
ax[0].set_xlabel('Price (10K RMB)')
df['district'].value_counts().plot(kind='barh', ax=ax[1])
ax[1].set_xlabel('Count')
plt.tight_layout()
plt.show()
# 绘制面积分布的饼图
area_count = df['area'].value_counts(normalize=True).reset_index()
area_count.columns = ['Area', 'Percentage']
area_count['Percentage'] = area_count['Percentage'].apply(lambda x: round(x * 100, 2))
plt.pie(area_count['Percentage'], labels=area_count['Area'])
plt.title('Area Distribution')
plt.show()
```
通过以上流程,我们可以对链家二手房数据进行简单分析和可视化,获得一些有用的信息。