python数据分析实战项目—10000条北京二手房面积信息可视化分析(附源码)

本文通过Python进行10000条北京二手房数据的面积与价格分析,利用matplotlib和seaborn库进行数据可视化。首先展示面积分布及面积与价格关系,发现并处理异常数据,如别墅和超大面积房源。优化后的图表更加准确,突显100平米左右的主流市场和价格规律。
摘要由CSDN通过智能技术生成

时间:2021年12月23日

python数据分析实战项目—10000条北京各大区二手房面积信息可视化分析(附源码)

开发工具

python版本:Python 3.6.1

python开发工具:JetBrains PyCharm 2018.3.6 x64

第三方库:pandas ;matplotlib ;seaborn

数据内容

实现代码

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

plt.style.use('fivethirtyeight')

sns.set_style({'font.sans-serif': ['simhei', 'Arial']})

lianjia_df = pd.read_csv('lianjia.csv')

# 添加房屋均价
df = lianjia_df.copy()
df['PerPrice'] = round(lianjia_df['Price'] / lianjia_df['Size'], 2)

# 重新摆放列位置
columns = ['Region', 'District', 'Garden', 'Layout', 'Floor', 'Year', 'Size', 'Elevator', 'Direction', 'Renovation',
           'PerPrice', 'Price']
df = pd.DataFrame(df, columns=columns)

f, [ax1, ax2] = plt.subplots(1, 2, figsize=(15, 5))

# 建房面积分布
sns.distplot(df['Size'], bins=20, ax=ax1, color='r')
sns.kdeplot(df['Size'], shade=False, ax=ax1)


# 建房面积与出售价格的关系
sns.regplot(x='Size', y='Price', data=df, ax=ax2)

plt.show()

运行效果

从第一个面积柱状图中可以看到,房屋面积最多的是100平米左右的,在200平米以上的也有一些

从第二个面积与价格图中可以看到,有两处数据异常,第一处是面积少价格却很高,第二处是面积大于1000

处理异常数据

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

plt.style.use('fivethirtyeight')

sns.set_style({'font.sans-serif': ['simhei', 'Arial']})

lianjia_df = pd.read_csv('lianjia.csv')

# 添加房屋均价
df = lianjia_df.copy()
df['PerPrice'] = round(lianjia_df['Price'] / lianjia_df['Size'], 2)

# 重新摆放列位置
columns = ['Region', 'District', 'Garden', 'Layout', 'Floor', 'Year', 'Size', 'Elevator', 'Direction', 'Renovation',
           'PerPrice', 'Price']
df = pd.DataFrame(df, columns=columns)

# display(df.loc[df['Size'] < 10])  # 都是别墅,不在分析范围内,排除
# display(df.loc[df['Size'] > 1000])  # 1019平,可能是商品房,排除
df = df[(df['Layout'] != '叠拼别墅') & (df['Size'] < 1000)]

f, [ax1, ax2] = plt.subplots(1, 2, figsize=(15, 5))

# 建房面积分布
sns.distplot(df['Size'], bins=20, ax=ax1, color='r')
sns.kdeplot(df['Size'], shade=False, ax=ax1)


# 建房面积与出售价格的关系
sns.regplot(x='Size', y='Price', data=df, ax=ax2)

plt.show()

优化异常数据运行结果

优化后异常数据可视化时就剔除掉了,对比有异常数据的图片

10000条二手房信息下载地址

https://url71.ctfile.com/f/13238771-530323628-1950bb
(访问密码:8835)

总结

这里主要运用了python的进行数据分析时,注意从图中分析异常数据,在对相关数据进行过滤掉

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值