安居客新房房价分析

#安居客新房房价分析

##读取数据

import pandas as pd
import numpy as np
from pandas import DataFrame, Series

df = pd.read_csv(u'./showInfo.csv', sep=',')

##预处理数据

#去掉没有标明价格的楼盘
usefull = df[df.price != '待定']
#将数据类型转换为float;也可以在代码 中更改
usefull[['price']] = usefull[['price']].astype(float)
#去重
usefull = usefull.drop_duplicates(['name'])

##普通住宅新房数量新房数量

fzCount = usefull.groupby('region').count()[['name']]
fzCount.plot(kind='barh')

这里写图片描述

  1. 郑州市区数高新区的供应量比较大,其他中心城区都是10套左右
  2. 其他就是郑州周边的县市

##显示楼盘均价

#这个就是可以在notebook中生成图像
%matplotlib inline 
avgPrice = usefull.groupby('region').price.mean()
avgPrice.plot(kind='barh',rot=0)

这里写图片描述
##求每个区的每个户型的总面积

#one ,tow ,three等表示的是房子有一室、二室等
house = usefull[['region','name','one','two','three','four','five']]
#统计每个区域的每种户型的面积总和。例如中原区所有楼盘的的一户型的面积总和
area_sums = house.groupby('region')['name','region','one','two','three','four','five'].sum()
area_sums 

这里写图片描述

##求每个区的每个户型的楼盘个数

#统计每个区域每种户型的数目。例如中原区一户型共有多少个楼盘
def funcSign(test):
    for key in ['one','two','three','four','five']:
        test[key] = np.sign(test[key])
    return test
typeCount=funcSign(house)
typeCount = typeCount.groupby('region').sum()
typeCount

这里写图片描述

##按照不同区计算每种户型的平均面积

avgAreaOftype = area_sums/typeCount
#因为typeCount有点值为0,所以除法会出现NaN,so 要填充这些值
c = c.fillna(0)
avgAreaOftype

这里写图片描述

#显示每个区不同户型的平均面积
avgAreaOftype.plot(kind='barh',stacked=True)
  1. 可以发现基本上没有五户型的
  2. 每个区都有2、3、4户型,而且面积差不多
    这里写图片描述
    ##每个楼盘的每个户型的总价
def computes(test):
    for key in ['one','two','three','four','five']:
        total = key + 's'
        print total
        test[total] = test.price.mul(test[key])
    return test
totolPrice = computes(usefull)
totolPrice	

这里写图片描述

某个户型总价:按照总价在按照交通时间排序
totolPrice = totolPrice.sort_values(axis=0, by=['twos','tranTime'],ascending=False)
totolPrice[['region','name','tranTime','twos']]

这里写图片描述

##按照交通时间范围 找楼盘
###处理数据


f[['tranTime']] = f[['tranTime']].astype(int)
#下面根据交通时间(单位为s)分类;以大于一小时为far;小于半小时为close;
f['dis'] = map(lambda x: 'far' if x>=3600 else ('mid' if (x<3600 and x>=1800) else 'close' ) , f['tranTime'])

按照交通时间 统计房源数量

# axes = plt.subplots(1, 1, figsize=(10, 8))
f.groupby(['region','dis']).region.count().unstack('dis').plot(kind='bar',figsize=(9, 6))

这里写图片描述

  1. 新房中还数高新区的房子到目的地比较近

数据分析的简单代码

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值