#相应模块的导入
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import re
import seaborn as sns
import matplotlib.image as mpimg # mpimg 用于读取图片
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
raw_housing = pd.read_csv('lianjia_house.csv',encoding='gbk')#数据获取过程见上一篇博客
本案例值分析武汉二手厅室房,先看看初始数据是怎么样的!
#信息这一特征所对应的字符串比较复杂,我们需要对其分裂成多列,先探索下这一特征
info = raw_housing['信息'].str.split('|')
info.map(lambda x: len(x)).unique()#可以发现,有些行可以分成4列,有些可以分5列等;
从上面的截图中可以看出样本中有些是车位,有些是别墅,其实认真分析下信息这列的文本结构,字符串中第2个文本,表明了所售资产的类型,可以同过下面语句查看。
raw_housing['信息'].str.split('|').map(lambda x: x[1]).unique()
输出:
array([' 2室2厅 ', ' 3室2厅 ', ' 2室1厅 ', ' 4室3厅 ', ' 3室1厅 ', ' 4室2厅 ',
' 1室1厅 ', ' 4室1厅 ', ' 5室1厅 ', ' 1室0厅 ', ' 5室2厅 ', ' 7室2厅 ',
' 3室3厅 ', ' 6室2厅 ', ' 6室3厅 ', ' 5室3厅 ', ' 独栋别墅 ', ' 1室2厅 ',
' 6室1厅 ', ' 联排别墅 ', ' 8室2厅 ', ' 2室0厅 ', ' 4室4厅 ', ' 车位 ', ' 5室4厅 ',
' 7室0厅 ', ' 3室0厅 ', ' 9室3厅 ', ' 7室3厅 ', ' 6室4厅 ', ' 9室0厅 ',
' 8室3厅 ', ' 0室23厅 ', ' 3室4厅 ', ' 5室5厅 ', ' 9室2厅 ', ' 叠拼别墅 ',
' 双拼别墅 ', ' 5室0厅 ', ' 2室3厅 ', ' 7室4厅 ', ' 6室5厅 ', ' 9室1厅 ',
' 8室0厅 ', ' 6室0厅 ', ' 10室1厅 ', ' 4室0厅 ', ' 3室5厅 ', ' 9室4厅 ',
' 7室1厅 '], dtype=object)
#剔除掉为车位和别墅的样本
#剔除车位和别墅的样本
housing =