第 2 章 构建应用程序,发现低价的公寓
将创建一个应用程序,使得找公寓这个问题变得稍微简
单一点。
#获取
公寓的房源数据。
通过 API 或爬取房地产网站,就能够很容易地访问珍贵的地产房源数据
国家协会(NAR)的严格控制房源服务(MLS),不是所有人能够获取数据。
利用第三方工具来拉取数据
http://www.import.io/examples,书上说它是一个免费基于web的服务,现在距离这本书有几年了,网站估计有更新限制,后面下载数据新注册不了就无法下载。
反正我是无法找到magic.csv。
由于都是通过csv文件来处理所有后面也没能取运行成功。打算去找一下国内房源数据的.csv先思路学起来。
然后我就找到了这个准备利用这个数据,尽可能把书上的代码实现一下。
检查和准备数据
df.columns 为数据提供了列标题的输出
使用 df.head().T 查看数据的某些样本。在行结束处的.T 语法将转置我们的数据框并垂直地显示它
看出数据有一些缺失值(NaN)。
import pandas as pd
import re
import numpy as np
import matplotlib.pyplot as plt
plt.style.use('ggplot')
#%matplotlib inline
pd.set_option("display.max_columns", 30)
pd.set_option("display.max_colwidth", 100)
pd.set_option("display.precision", 3)
# Use the file location of your Import.io csv
CSV_PATH = "C:\\Users\\think\\Downloads\\lianjia.csv"
df = pd.read_csv(CSV_PATH)
print(df.columns)
print(df.head().T)
mu =df[df['Layout'].str.contains('3室')]
# single units
su = df[df['Layout'].str.contains('2室')]
#现在来看看每种房源类型的数量。
print(len(mu))
print(len(su))
# 检查没有包含'bd'或'Studio'的行数
print(len(su[~(su['Direction'].str.contains('东西')|su['Direction'].str.contains('南北'))]))
#关于缺失数据的,它是建模过程中一个关键的组成部分
#排除那些缺失了电梯信息的房源
data = su[su['Elevator'].str.contains('有电梯')==False]
print(data)
print(data.describe())
print(data.info())
可视化数据,构建回归模型,预测
由于需要.json文件,无法继续可视化,以及后面流程。