github地址 : github.com/yangjinghit…

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
复制代码
data1 = pd.read_csv('lianjia1.csv', encoding='gbk')
data2 = pd.read_csv('lianjia2.csv', encoding='gbk')
data3 = pd.read_csv('lianjia3.csv', encoding='utf-8')
data4 = pd.read_csv('lianjia4.csv', encoding='utf-8')
data5 = pd.read_csv('lianjia5.csv', encoding='utf-8')
data6 = pd.read_csv('lianjia6.csv', encoding='utf-8')
data7 = pd.read_csv('lianjia7.csv', encoding='utf-8')
复制代码
data = pd.concat([data1, data2, data3, data4, data5,data6,data7])
复制代码
len(data)
复制代码
162227
复制代码
data = data.dropna()
复制代码
len(data)
复制代码
144531
复制代码
data.cjdanjia = np.round(data.cjdanjia.str.replace('元/平','').astype(np.float32).map(lambda x: x/10000), 2)
复制代码
data.cjshijian = pd.to_datetime(data.cjshijian.map(lambda x :x[5:]))
复制代码
data = data[data.cjxiaoqu.str.contains('远洋山水')]
复制代码
data = data.sort_values(by='cjshijian')
复制代码
data.set_index('cjshijian', inplace=True)
复制代码
data = data['2012':]
复制代码
#data.set_index('cjshijian',inplace=True)['2012':]
复制代码
data = data[data.cjdanjia > 1]
复制代码
data.head(3)
复制代码
cjtaoshumendiancjzongjiazhiweihaopingcjdanjiacjxiaoquxingmingcjzhouqibiaoqiancjloucengcongyenianxianbankuai
cjshijian
2012-01-0732远洋山水中街店180.0店经理99% 1222.54远洋山水 1室1厅 70平卢德强28房东信赖;销售达人;带看活跃;海外顾问西/中楼层/26层5年以上鲁谷
2012-01-0732远洋山水中街店180.0店经理99% 1222.54远洋山水 1室1厅 70平卢德强28房东信赖;销售达人;带看活跃;海外顾问西/中楼层/26层5年以上鲁谷
2012-02-1342远洋山水中街店235.0店经理95% 1342.22远洋山水 2室2厅 105平乔璐璐72房东信赖;销售达人南/中楼层/24层5年以上鲁谷
data = data.assign(time = (data.index - pd.to_datetime('2012-01-01')).days)
复制代码
data = data[['time', 'cjdanjia']]
复制代码
data.head(5)
复制代码
timecjdanjia
cjshijian
2012-01-0762.54
2012-01-0762.54
2012-02-13432.22
2012-02-15452.06
2012-02-19492.23
plt.scatter(data.time, data.cjdanjia)
复制代码
<matplotlib.collections.PathCollection at 0x119fcb7f0>
复制代码

X = data.time
Y = data.cjdanjia
复制代码
from sklearn.linear_model import LinearRegression
复制代码

model = LinearRegression() model.fit(pd.DataFrame(X), Y)

model = LinearRegression() 
model.fit(pd.DataFrame(X), Y)
复制代码
LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)
复制代码
x = [[0], [1800]]
y = model.predict(pd.DataFrame(x))
plt.figure(figsize = (10, 8))
plt.plot(x, y)
plt.scatter(data.time, data.cjdanjia)
复制代码
<matplotlib.collections.PathCollection at 0x12068e400>
复制代码

model2 = LinearRegression()
model2.fit(pd.DataFrame({'x2': X*X, 'x1':X}), Y)
复制代码
LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)
复制代码
x = np.linspace(0, 1800)
y = model2.predict(pd.DataFrame({'x2': x*x, 'x1':x}))
plt.figure(figsize=(10,8))
plt.plot(x,y,color='r')
plt.scatter(data.time, data.cjdanjia)
复制代码
<matplotlib.collections.PathCollection at 0x10f357198>
复制代码

from sklearn.preprocessing import PolynomialFeatures
复制代码
q3 = PolynomialFeatures(degree=3)
复制代码
X3 = q3.fit_transform(pd.DataFrame(X))
复制代码
model3 = LinearRegression()
model3.fit(X3, Y)
复制代码
LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)
复制代码
x = np.linspace(0, 1800)
x_ = q3.fit_transform(pd.DataFrame(x))
y = model3.predict(x_)
plt.figure(figsize=(10,8))
plt.plot(x,y,color='r')
plt.scatter(data.time, data.cjdanjia)
复制代码
<matplotlib.collections.PathCollection at 0x11002f860>
复制代码

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐