上海哪里学python_小白学python_上海房价知多少
一年前,为了喜欢的他,我来到了上海。两人三餐四季,过着幸福的小日子,现在我们想着安定下来,在上海安①个家。有了这个想法以后,我们听到了很多关于#上海房价很高#的声音,我不想放弃,决定自学python通过数据科学的办法了解上海房价的真面目。
分析框架如下:网页爬虫:获取上海新房的相关信息
数据清洗:处理异常值
分析上海以及上海周边各价位的新房源分布情况
分析上海各区域的新房源分布情况和价格水平
分析上海新房源价格和格局的关系
小结
一.网页爬虫:获取上海新房的相关信息
通过python获取上海新房的相关信息,如下:
一共有8个变量:House_name:小区名称
total_price:总价
unit_price:单价
House_Area:城区xi'm
House_Com:镇\街道
House_Street:门牌
House_Pattern:室
House_Square:面积
二.数据清洗:处理异常值
csv_data = pd.read_csv('E:/test/result.csv',encoding='gb18030') # 读取网页爬取的数据
print(csv_data.shape) # (836, 8)
#价格显示为“价格待定”时置零
def solve(x):
if x=='价格待定':
return 0
else:
return x
csv_data['unit_price'] = csv_data['unit_price'].apply(solve)
#单价等于0[异常值]或者小于10000元[异常值:总价和单价混了]的行删除
csv_data = csv_data[csv_data['unit_price']!=0]
csv_data['unit_price']=csv_data['unit_price'].astype(float)
csv_data = csv_data[csv_data['unit_price']>10000]
三.分析上海以及上海周边各价位的新房源分布情况
1.上海各价位的新房源分布情况
csv_data_sh = csv_data[csv_data['House_Area']!='上海周边']
csv_data_shzb = csv_data[csv_data['House_Area']=='上海周边']
bins=[10000,20000,30000,40000,50000,60000,70000,80000,90000,100000,110000,120000,130000,
140000,150000,160000,170000,180000,190000,200000]
csv_data_sh['quartiles'] = pd.cut(csv_data_sh.unit_price, bins)
df_cnt_sh=csv_data_sh.groupby("quartiles")["quartiles"].count()
print(df_cnt_sh)
df_cnt_sh.plot(kind='bar',color=['#9999ff'],alpha=0.7,figsize=(12,6),fontsize=12)
plt.title('上海市各价位新房数量',FontSize=20)
plt.ylabel('数量(套)',FontSize=15)
plt.xlabel('价格分段(元/平方米)',FontSize=15)
plt.grid(True,axis="y",alpha=0.5)
plt.xticks(rotation=45)
x=np.arange(19)
y=np.array(list(df_cnt_sh))
for a,b in zip(x,y):
plt.text(a,b,"%.0f"%b,ha='center',va='bottom',FontSize=10)
plt.show()
可见,上海新房源的单价主要集中在[2w,6w]元/平方米,其中,[3w,4w]元/平方米的新房源最多。
2.上海周边各价位的新房源分布情况
bins = [10000,20000,30000,40000,50000,60000,70000]
csv_data_shzb['quartiles'] = pd.cut(csv_data.unit_price, bins)
df_cnt_shzb=csv_data_shzb.groupby("quartiles")["quartiles"].count()
print(df_cnt_shzb)
df_cnt_shzb.plot(kind='bar',color=['#9999ff'],alpha=0.7,figsize=(12,6),fontsize=12)
plt.title('上海周边各价位新房数量',FontSize=20)
plt.ylabel('数量(套)',FontSize=15)
plt.xlabel('价格分段(元/平方米)',FontSize=15)
plt.grid(True,axis="y",alpha=0.5)
plt.xticks(rotation=45)
x=np.arange(7)
y=np.array(list(df_cnt_shzb))
for a,b in zip(x,y):
plt.text(a,b,"%.0f"%b,ha='center',va='bottom',FontSize=10)
plt.show()
可见,上海周边(昆山、无锡等)新房源的单价主要集中[1w,3w]元/平方米,其中,[1w,2w]元/平方米的新房源最多。
四.分析上海各区域的新房源分布情况和价格水平
1.上海各区域的新房源分布情况
df_cnt=csv_data_sh.groupby("House_Area")["House_name"].count().sort_values(ascending=False)
print(df_cnt)
df_cnt.plot(kind='bar',color=['#9999ff'],alpha=0.7,figsize=(12,6),fontsize=12)
plt.title('上海市各区域新房数量',FontSize=20)
plt.ylabel('数量(套)',FontSize=15)
plt.xlabel('',FontSize=15)
plt.grid(True,axis="y",alpha=0.5)
plt.xticks(rotation=45)
x=np.arange(17)
y=np.array(list(df_cnt))
for a,b in zip(x,y):
plt.text(a,b,"%.0f"%b,ha='center',va='bottom',FontSize=10)
plt.show()
可见,黄浦、长宁、虹口、徐汇、静安、杨浦、普陀等比较接近市中心的城区,由于土地资源不足,房源饱和,能释放的新房房源极少。浦东、青浦、嘉定城区的新房源数量比较接近,新房房源比较充足;奉贤、松江、宝山、闵行城区的新房源数量比较接近,新房房源次之。
2.上海各区域的新房源价格水平
df_price_mean=csv_data_sh.groupby("House_Area")["unit_price"].mean().to_frame()
print(df_price_mean)
df_price_max=csv_data_sh.groupby("House_Area")["unit_price"].max().to_frame()
print(df_price_max)
df_price_min
=csv_data_sh.groupby("House_Area")["unit_price"].min().to_frame()
print(df_price_min)
df_price = pd.concat([df_price_mean,df_price_max,df_price_min],axis=1)
df_price.columns = ['mean','max','min']
df_price.plot(kind='bar',color=['#9999ff','#ff9999','#fff999'],alpha=0.7,figsize=(12,6)
,fontsize=12)
plt.title('上海市各区域新房平均价格',FontSize=20)
plt.ylabel('价格(元/平方米)',FontSize=15)
#plt.xlabel('区域',FontSize=15)
plt.grid(True,axis="y",alpha=0.5)
plt.xticks(rotation=45)
plt.show()
可见,黄浦、长宁、虹口、徐汇、静安、杨浦、普陀等比较接近市中心的城区的单价均价较高,其单价均价在10w元/平方米左右,属于第一梯队。浦东、闵行、宝山、青浦、松江等城区的单价均价次高,其单价均价在5w元/平方米左右,属于第二梯队。嘉定、奉贤、崇明、金山等城区的单价均价较低,其单价均价在3w元/平方米左右,属于第三梯队。
3.上海价格top15的小区
df_price_mean_h=csv_data_sh.groupby(["House_Area","House_name"])["unit_price"].mean().head(15)
print(df_price_mean_h)
df_price_mean_h.plot(kind='bar',color=['#9999ff'],alpha=0.7,figsize=(12,6),fontsize=12)
plt.title('上海市房价top15小区',FontSize=20)
plt.ylabel('价格(元/平方米)',FontSize=15)
plt.xlabel('',FontSize=15)
plt.grid(True,axis="y",alpha=0.5)
plt.xticks(rotation=45)
x=np.arange(15)
y=np.array(list(df_price_mean_h))
for a,b in zip(x,y):
plt.text(a,b,"%.0f"%b,ha='center',va='bottom',FontSize=10)
plt.show()
4.上海价格under15的小区
df_price_mean_l=csv_data_sh.groupby(["House_Area","House_name"])["unit_price"].mean()
.sort_values(ascending=True).head(15)
print(df_price_mean_l)
df_price_mean_l.plot(kind='bar',color=['#9999ff'],alpha=0.7,figsize=(12,6),fontsize=12)
plt.title('上海市房价under15小区',FontSize=20)
plt.ylabel('价格(元/平方米)',FontSize=15)
plt.xlabel('',FontSize=15)
plt.grid(True,axis="y",alpha=0.5)
plt.xticks(rotation=45)
x=np.arange(15)
y=np.array(list(df_price_mean_l))
for a,b in zip(x,y):
plt.text(a,b,"%.0f"%b,ha='center',va='bottom',FontSize=10)
plt.show()
五.分析上海新房源价格和格局的关系
df_price_gj=csv_data_sh.groupby("House_Pattern")["unit_price"].mean()
print(df_price_gj)
df_price_gj.plot(kind='bar',color=['#9999ff'],alpha=0.7,figsize=(12,6),fontsize=12)
plt.title('上海市各格局新房平均价格',FontSize=20)
plt.ylabel('价格(元/平方米)',FontSize=15)
plt.xlabel('格局(室)',FontSize=15)
plt.grid(True,axis="y",alpha=0.5)
plt.xticks(rotation=45)
x=np.arange(7)
y=np.array(list(df_price_gj))
for a,b in zip(x,y):
plt.text(a,b,"%.0f"%b,ha='center',va='bottom',FontSize=10)
plt.show()
可见,在上海新房源里,新房为7室的单价均价最高,其单价均价在8.7w元/平方米左右;紧接着,新房为4-6室单价均价次高,其单价均价在6.5w元/平方米左右,最后,新房为1-3室单价均价次最低,其单价均价在5.3w元/平方米左右。
六.小结
通过一系列分析可以看到:上海市中心城区的新房房价偏高,此外,房源饱和无太多空缺;哈哈,家里有矿的朋友可以下手,如果刚毕业几年且靠自己的朋友,建议往下看~
嘉定、奉贤、崇明、金山等上海较偏远区域的新房源充足,单价均价在3w元/平方米左右,比较适合刚毕业几年且靠自己,在上海努力打拼的小年轻。配置小汽车可以解决上班路途遥远的问题,也许会比较辛苦,但可以一起努力待到财富积累到某个水平的时候,卖旧房换更好的新房哦。
如果主要是小两口过日子,建议考虑房型为1-3室。其次,房子格局的价格梯度和租房的情况类似,1房的户型很少,价格偏高。因此,更推荐2-3室,哈哈。
不足之处:
由于爬虫取得的相关信息并不是特别充足,分析结果还有待校正。
后记:
花了一周的时间自学python,从爬虫到数据清洗到数据分析,说实话,敲代码的时候真的有点抓狂,各种奇怪的bug,一点点百度搜索一点点处理,但总算揭开了上海房价的神秘面纱,而不是道听途说。这次分析还是能帮我们更好的定位我们的目标,我相信自己,也相信我的另一半。有目标才能更好的努力,问题再多但解决问题的方法也很多,不是吗?
我想,在繁华的大上海,和我们一样努力着奋斗着的小年轻应该很多吧。让我们一起努力吧~相信明天会更好~加油!
上海哪里学python_小白学python_上海房价知多少相关推荐
- 小白学vb还是python_小白学 Python 爬虫(30):代理基础
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
- class参数传入 python_小白学 Python 爬虫(20):Xpath 进阶
人生苦短,我用 Python 如果我的文章对您有帮助,请关注支持下作者的公众号:极客挖掘机,您的关注,是对小编坚持原创的最大鼓励:) 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Py ...
- 同花顺python_小白学 Python 爬虫(25):爬取股票信息
人生苦短,我用 Python 如果我的文章对您有帮助,请关注支持下作者的公众号:极客挖掘机,您的关注,是对小编坚持原创的最大鼓励:) 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Py ...
- 从小白到精通python要多久-零基础如何学Python?小白学Python需要多久?
目前市场上对于Python开发人才的需求与日递增,所以很多人都会选择去学Python.那如果是零基础又该如何学Python呢?小白学Python需要多久呢?下面,小编就与大家来看一下! 零基础的新手应 ...
- 计算机小白学UI,小白学UI设计有什么技巧?看完这些你就明白了
原标题:小白学UI设计有什么技巧?看完这些你就明白了 随着互联网的快速发展,UI设计师成为近年来的职场新贵,不断增加的薪资让很多人羡慕不已,想要加入UI设计行业的人不断增多.对于小白来说,在UI设计学 ...
- 零基础学python要多久-零基础如何学Python?小白学Python需要多久?
目前市场上对于Python开发人才的需求与日递增,所以很多人都会选择去学Python.那如果是零基础又该如何学Python呢?小白学Python需要多久呢?下面,小编就与大家来看一下! 零基础的新手应 ...
- 绘制条形图python_小白学Python(13)——pyecharts 绘制 柱状图/条形图 Bar
Bar-基本示例 1 from example.commons importFaker2 from pyecharts importoptions as opts3 from pyecharts.ch ...
- 先学c 还是先学java_小白学编程语言一开始先学c还是java?
对于小白来说.为了找工作,学 Java 对于大一新生,我推荐从C学起,后期在选择JAVA 1.建议新手学java,Java比c简单,c有很多的细节需要你掌握,比如指针,内存分配,内存释放等这些细节概念 ...
- 【小白学PyTorch】17.TFrec文件的创建与读取
[机器学习炼丹术]的学习笔记分享 <<小白学PyTorch>> 小白学PyTorch | 16 TF2读取图片的方法 小白学PyTorch | 15 TF2实现一个简单的服装分 ...
最新文章
- 雷观(十六):帮人写项目,不如教会别人写项目的方法
- 概念模型让产品更简单
- 面向对象---类与对象
- keras 的使用例子
- boost::geometry::model::multi_polygon用法的测试程序
- atlas单机模式代码_游戏日报:3DS源码遭泄露,COD吃鸡更新经典模式,重装机兵再跳票...
- Windows10+Ubuntu 18.04.2+ROS 安装笔记(SSD单硬盘)上
- 小爱同学生病了,网友集体表示理解:小爱同学好好休息
- Java学习之面板与布局管理器
- xps in html5,学术干货 | 带你“一网捞尽”XPS 基本理论【绝对没有套路】
- Git down代码简易操作手册
- Quick BI企业报表制作
- python 爬取裁判文书网
- 中国富豪的七条发家路--颇显中国特色
- Flink SQL自定义connector
- 残差网络解决什么问题详解残差网络
- 什么是数据产品,怎么设计一个好用的数据产品
- TortoiseGit提示No supported authentication methods available异常
- Spirng Cloud Netfilx
- 机器学习/推荐系统/推荐系统算法工程师面试指导