原标题:Python租房信息分析!找到最适合自己的房源信息!

租房信息分析

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

import seaborn as sns

file_data = pd.read_csv("./data/链家北京租房数据.csv")

file_data

file_data.shape

file_data.head

file_data.info

file_data.describe

# 重复值

# file_data.duplicated

file_data = file_data.drop_duplicates

file_data.shape

# 空值处理

file_data = file_data.dropna

file_data.shape

删除空值,最好先做判断

空值处理

file_data = file_data.dropna

# 单个值实现

file_data["面积(㎡)"].values[0][:-2]

# 创建一个空的数组

data_new = np.array([])

data_area = file_data["面积(㎡)"].values

for i in data_area:

data_new = np.append(data_new, np.array(i[:-2]))

# 转换data_new中的数据类型

data_new = data_new.astype(np.float64)

file_data.loc[:, "面积(㎡)"] = data_new

house_data = file_data["户型"]

temp_list = []

for i in house_data:

# print(i)

new_info = i.replace("房间", "室")

temp_list.append(new_info)

file_data.loc[:, "户型"] = temp_list

房源数量、位置分布分析

file_data["区域"].unique

new_df = pd.DataFrame({"区域":file_data["区域"].unique, "数量":[0]*13})

# 获取每个区域房源数量

area_count = file_data.groupby(by="区域").count

new_df["数量"] = area_count.values

new_df.sort_values(by="数量", ascending=False)

户型数量分析

def all_house(arr):

key = np.unique(arr)

result = {}

for k in key:

mask = (arr == k)

arr_new = arr[mask]

v = arr_new.size

result[k] = v

return result

house_info = all_house(house_data)

去掉统计数量较少的值

# 去掉统计数量较少的值

house_data = dict((key, value) for key, value in house_info.items if value > 50)

show_houses = pd.DataFrame({"户型": [x for x in house_data.keys],

"数量": [x for x in house_data.values]})

图形展示

# 图形展示房屋类型

house_type = show_houses["户型"]

house_type_num = show_houses["数量"]

plt.barh(range(11), house_type_num)

plt.yticks(range(11), house_type)

plt.xlim(0, 2500)

plt.title("北京市各区域租房数量统计")

plt.xlabel("数量")

plt.ylabel("房屋类型")

# 给每个条上面添加具体数字

for x, y in enumerate(house_type_num):

# print(x, y)

plt.text(y+0.5, x-0.2, "%s" %y)

plt.show

for x, y in enumerate(house_type_num):

print(x, y)

拿到定点坐标位置,在坐标位置附上Y值

平均租金分析

df_all = pd.DataFrame({"区域": file_data["区域"].unique,

"房租总金额": [0]*13,

"总面积": [0]*13})

sum_price = file_data["价格(元/月)"].groupby(file_data["区域"]).sum

sum_area = file_data["面积(㎡)"].groupby(file_data["区域"]).sum

df_all["房租总金额"] = sum_price.values

df_all["总面积"] = sum_area.values

计算各个区域每平方米的房租

# 计算各个区域每平方米的房租

df_all["每平米租金(元)"] = round(df_all["房租总金额"] / df_all["总面积"], 2)

合并

df_merge = pd.merge(new_df, df_all)

图形可视化

# 图形可视化

num = df_merge["数量"]

price = df_merge["每平米租金(元)"]

lx = df_merge["区域"]

l = [i for i in range(13)]

fig = plt.figure(figsize=(10, 8), dpi=100)

# 显示折线图

ax1 = fig.add_subplot(111)

ax1.plot(l, price, "or-", label="价格")

for i, (_x, _y) in enumerate(zip(l, price)):

plt.text(_x+0.2, _y, price[i])

ax1.set_ylim([0, 160])

ax1.set_ylabel("价格")

plt.legend(loc="upper right")

# 显示条形图

ax2 = ax1.twinx

plt.bar(l, num, label="数量", alpha=0.2, color="green")

ax2.set_ylabel("数量")

plt.legend(loc="upper left")

plt.xticks(l, lx)

plt.show

创建x,y轴共享

增加刻度,字符串一一对应

面积基本分析

# 查看房屋的最大面积和最小面积

print('房屋最大面积是%d平米'%(file_data['面积(㎡)'].max))

print('房屋最小面积是%d平米'%(file_data['面积(㎡)'].min))

# 查看房租的最高值和最小值

print('房租最高价格为每月%d元'%(file_data['价格(元/月)'].max))

print('房屋最低价格为每月%d元'%(file_data['价格(元/月)'].min))

面积划分

# 面积划分

area_divide = [1, 30, 50, 70, 90, 120, 140, 160, 1200]

area_cut = pd.cut(list(file_data["面积(㎡)"]), area_divide)

area_cut_num = area_cut.describe

饼图展示

# 图像可视化

area_per = (area_cut_num["freqs"].values)*100

labels = ['30平米以下', '30-50平米', '50-70平米', '70-90平米',

'90-120平米','120-140平米','140-160平米','160平米以上']

plt.figure(figsize=(20, 8), dpi=100)

# plt.axes(aspect=1)

plt.pie(x=area_per, labels=labels, autopct="%.2f %%")

plt.legend

plt.show

plt.axes(aspect=1)

设置椭圆

责任编辑:

python找房源_Python租房信息分析!找到最适合自己的房源信息!相关推荐

  1. python找最小值_Python,lambda,找到最小值

    我有foreach函数,它在它包含的每个元素上调用指定的函数.我希望从这个元素中得到最少但我不知道如何编写lambda或函数,甚至是一个能够管理它的类. 谢谢你的帮助. 我使用我的foreach函数: ...

  2. python找思路_python 爬取贝壳的一些思路和方法设计(用地址找到小区名字)

    1.查mysql 获取 title 或者 address 2.用title或者address参数,request.get方法 查百度地图的地址api: http://api.map.baidu.com ...

  3. python寻峰算法_python做数字分析,如何找到波峰波谷?

    数字呈现不规律的波动形状,而且值变化也不一定是只朝一个方向,会有反复.请问如何能找出值排名前5的波峰和波谷的大小和位置.有计算相关的函数吗?, 可以尝试使用heapq模块. import heapq ...

  4. python找数字_python:找到一个数字序列

    我会尝试用一种不那么暴力的方法来解决这个问题. 先做一些思想实验.其他每个数字都有相同的因子2.对于剩下的8或9,您需要更多的因素.例如,你可以有一个系数3,对其中一些人来说很常见.然后是另一个因素, ...

  5. python找色_python实现从一组颜色中找出与给定颜色最接近颜色的方法

    本文实例讲述了python实现从一组颜色中找出与给定颜色最接近颜色的方法.分享给大家供大家参考.具体分析如下: 这段代码非常有用,可以找到指定颜色相似的颜色,比如有一组8个颜色,现在给定一个rgb格式 ...

  6. python找出值为nan_Python Numpy:找到list中的np.nan值方法

    这个问题源于在训练机器学习的一个模型时,使用训练数据时提示prepare的数据中存在np.nan 报错信息如下: ValueError: np.nan is an invalid document, ...

  7. python行业中性_Python抓取分析淘宝连衣裙数据,128元真的是低价人群分界线吗?...

    1.我是一个低价人群用户 上周发表文章<一个匿名用户的淘宝"连衣裙"大观>后,交流群里面很热闹地讨论了起来,小伙伴们都在秀自己的淘宝连衣裙搜索价格,相较于小伙伴们搜索出 ...

  8. python找字符串_Python如何实现查找字符串

    Python如何实现查找字符串 发布时间:2020-10-28 22:07:02 来源:亿速云 阅读:89 作者:Leah 本篇文章为大家展示了Python如何实现查找字符串,内容简明扼要并且容易理解 ...

  9. python找色_python实现按键精灵找色点击功能教程,使用pywin32和Pillow库

    Python图片处理模块PIL(pillow) pywin32的主要作用 1.捕获窗口: 2.模拟鼠标键盘动作: 3.自动获取某路径下文件列表: 4.PIL截屏功能 找色点击功能思路: 抓取当前屏幕快 ...

最新文章

  1. ant 接口返回文件流,前端自动下载实现
  2. opencv-python视频处理之录制视频
  3. 新疆计算机英语网考,2019年新疆远程教育入学考试考英语计算机技术和数学科目吗...
  4. telnet 以及 win10 开放端口
  5. 2016年第七届蓝桥杯C/C++ A组国赛 —— 第三题:打靶
  6. 纯php mysql_【总结】纯php 操作 mysql 数据库
  7. 工具类的方法怎么引用_Java实用工具类:File工具类方法学习,可创建目录及文件...
  8. 苏宁海量服务器自动化配置运维实践
  9. python使用datetime获取两个时间的时间差,与时间的加减运算
  10. case when then 统计去重数据_数据分析--SQL求职面试题
  11. 设置多行的Table高度为100%,并在最后一行中加入iframe
  12. 缠中说缠,最好用的缠论画笔和中枢的指标公式 通达信用
  13. 圣诞来了 h5游戏风靡朋友圈了
  14. 中国90%的SaaS都亏钱,为何这家公司偏偏盈利千万
  15. 手把手教你实战开发黑白棋实时对战游戏
  16. Fabric架构及基本原理
  17. 苹果和虫子编程题python_2020智慧树《兽医寄生虫学》免费最全题库2020中国大学mooc《线性代数习题选讲》...
  18. java无法从静态上下文_java - “非静态方法无法从静态上下文中引用”背后的原因是什么?...
  19. 探索Tiger VC DAO,NFT的新叙事方向
  20. 【精品】pinia详解

热门文章

  1. Parallax Mapping
  2. java final的内存_Java并发编程之final域的内存语义
  3. 计算机与应用化学怎么投稿,计算机与应用化学杂志
  4. 快速排序(过程图解 参考啊哈算法)
  5. php模拟登录qq邮箱_PHP 利用QQ邮箱发送邮件的实现
  6. Java show两个整数加减_怎么样用java编写界面实现两个数的加法运算
  7. 『设计模式』以为是个王者,后来班主任来了!设计模式--二五仔的观察者模式
  8. 快放弃你的管家软件吧! Part 2 强制删除
  9. java互联网架构师入门进阶之路
  10. Kafka消息处理与集群维护