一、数据读取、观察、合并

1.1、数据读取

1.1.1、工具包导入

import pandas as pd#工具包导入
import numpy as np#工具包导入
import matplotlib.pyplot as plt#引入绘图所用包
%matplotlib inline
#配置绘图环境

1.1.2、读取数据

data = pd.read_csv('./lianjia1/lianjia1.csv',encoding='gbk')#读取文件
#如果数据分为多条则可以使用循环进行读取数据
#     data_list=[]#定义空列表#1、在编码方式相同时
#         for i in range(1,8):
#             data = pd.read_csv('./lianjia1/lianjia1.csv',encoding='gbk')
#             data_list.append(data)#2、编码方式不同时,可以采用捕获异常的方式
#         for i in range(1,8):
#             try:
#                 data = pd.read_csv('./lianjia1/lianjia1.csv',encoding='gbk')
#             except:
#                 data = pd.read_csv('./lianjia1/lianjia1.csv')
#             data_list.append(data)

1.1.3、显示数据

data.head()#显示数据(默认为前5行)

1.2、数据观察

data.describe()#对所有数据进行分析,描述数据的属性(注意是对整数或者浮点型的数进行分析)data.info()#展示所有数据的类型

1.3、数据提取

data = data[['cjdanjia','cjxiaoqu','cjlouceng','bankuai']]#使用双中括号加类别名进行提取指定数据

二、缺失值处理

2.1、检查是否存在缺失值和缺失值过滤

data.isnull()#isnull()方法可以判断数据是否缺失但是可能显示不完全,导致不能完全确实是否有缺失值(data.isnull()).sum()#对isnull()的结果进行累加(在计算机中false代表0,true代表1),看结果是否有缺失值#如果有缺失值我们可以使用
# data[data.+类别名+.isnull()]来查看缺失值具体是哪一行
# 如果想要删除缺失值,有几种方法进行删除
#     1、data.dropna(how = 'all',inplace=True)#此方法会把一行中所有数据都为NAN的数据删除,
#         其中inplace参数状态是否返回data,如果为真就不返回,否则返回

2.2、重复值

data.duplicated()#duplicated()会展现数据是否重复,如果重复显示为true,反之为false

(data.duplicated()).sum()#对重复值进行2进制运算,

#不能直接把重复数据删除,因为当数据中第一行中有一个数据为null,第二行中也有一个数据为null但不是同一列,系统也会判断这俩个数据重复
# 所有我们要对非null数据进行重复值判断
(data.duplicated(subset=['cjdanjia','cjxiaoqu','cjlouceng'])).sum()

#先进性排序:把有效数据排在前面,null排在后面
data.sort_values(by = 'bankuai',inplace=True)
#现在进行重复值删除操作
data.drop_duplicates(subset=['cjdanjia','cjxiaoqu','cjlouceng'],inplace=True)

三、数据类型转换、异常值处理、数据离散化分析

3.1、数据类型转换

这里以成交单价为例

3.1.1、判断数据中的格式是否相同

#将数据中的‘元/平’转化成可以进行计算的数据
#先判断是否所有数据都是包含'元/平’
(data.cjdanjia.str.contains('元/平')).sum()

3.1.2、转换类型

第一种方法:函数法
# data.cjdanjia.map(lambda x:round(float(x.replace('元/平',''))/10000,2))
#其中round是保留几位小数;lambda x:表达式,叫做单行函数;float强制类型转换;x.replace将A替换成B第二种方法:向量法data=data.assign(cjdanjia = np.round(data.cjdanjia.str.replace('元/平','').astype(np.float32).map(lambda x:x/10000),2))
#data.assign()将转换后的苏剧复制给原始数据,后面同上

俩种方法都可以实现

3.2、去除异常值

对不符合要求的数据设置一个’门槛‘,也就是进行一次过滤

#对数值设置一个规则,过滤不符合的
data=data[data.cjdanjia > 0.6]
data.cjdanjia.min()

3.3、离散化分析

就是将数据分为不同的组别,利于观察和分析

#将数据按成交单价划分为不同区间
bins=[0,1,2,3,4,5,7,10,15]
pd.cut(data.cjdanjia,bins).value_counts().plot.bar(rot = 20)#对每一个区间进行计数,plot为画图代码,rot 是将横坐标按行排列

3.4、字符串处理

字符串处理和数据类型转换的步骤相似

3.4.1、判断数据格式是否一致

#判断楼层是否都以俩个斜杠划分
(data.cjlouceng.str.split('/').map(len)!=3).sum()

3.4.2、 解析楼层(利用向量法)

data=data.assign(chaoxiang = data.cjlouceng.map(lambda x:x.split('/')[0]))
data=data.assign(louceng = data.cjlouceng.map(lambda x:x.split('/')[1]))

由于机器不能对中文数据很好的分析,所以我们将楼层,朝向数据进行one-hot编码处理

data.join(pd.get_dummies(data.louceng))
#data.join()添加一列数据
#pd.get_dummies()获取one-hot编码

链家二手房成交数据分析(采用pytorch环境)相关推荐

  1. 26-爬取链家二手房成交的房产信息【简单】

    目的:爬取链家二手房成交的信息,包括:['cjxiaoqu','cjdanjia','cjhuxing','cjmianji','cjshijian','cjlouceng','cjchaoxiang ...

  2. python分析链家二手房信息----数据分析实战(一)

    链家二手房信息 # 导入需要的库:科学计算包numpy, pandas 可视化包matplotlib, seaborn 机器学习包 sklearn import numpy as np import ...

  3. python链家数据分析统计服_链家二手房成交——Python数据分析

    一.分析背景和目的 近些年国内房地产行业发展势头迅猛,二手房需求成为了一种新热门.本次项目分析的是作为行业巨头的链家关于"二手房成交价格.经纪人相关因素"的业务数据,其数据的相关分 ...

  4. 数据抓取 | 数据分享 - 北京链家二手房成交数据抓取,保存格式为excel

    该项目应客户需求,抓取 东城西城朝阳海淀二手房成交 数据 抓取字段为:房源id,房型,交易日期,位置,总价,朝向,装修情况,建筑年代,所在楼层,房屋年限,建筑面积,套内面积,电梯情况 -- 抓取流程: ...

  5. 3-对链家二手房数据进行预处理,以及利用CNN进行多分类操作

    使用:26-爬取链家二手房成交的房产信息[简单] (https://my.oschina.net/pansy0425/blog/3031621),对爬取到的数据进行简单的清洗,去噪,进行数据预处理,以 ...

  6. 武汉链家二手房数据分析

    爬取链家二手房武汉地区的成交数据,共23292条记录,利用Excel.MySQL.Power BI等工具对影响武汉二手房交易价格的因素进行了分析 分析思路 分析目的 武汉哪个区的二手房交易最多? 哪种 ...

  7. 北京链家二手房数据分析

    首先我们需要将链家二手房的数据抓取下来,用我们上课学的内容,很容易实现(bs4,re,urllib,搞定!): import re import csv from bs4 import Beautif ...

  8. Python 北京二手房成交数据分析过程

    此为之前偶尔在社区看到的优秀作业"链家2011-2016北京二手房成交数据分析",在此为了工作简历上的项目巩固复习练习一次. 环境准备 import numpy as np imp ...

  9. 大数据信息资料采集:房产链家二手房新房源出售买卖交易信息采集

    在这里插入图片描述 大数据信息资料采集:房产链家二手房新房源出售买卖交易信息采集 数据采集满足多种业务场景:适合产品.运营.销售.数据分析.政府机关.电商从业者.学术研究等多种身份职业. 舆情监控:全 ...

  10. Python爬虫框架Scrapy入门(三)爬虫实战:爬取长沙链家二手房

    Item Pipeline介绍 Item对象是一个简单的容器,用于收集抓取到的数据,其提供了类似于字典(dictionary-like)的API,并具有用于声明可用字段的简单语法. Scrapy的It ...

最新文章

  1. 数据库的介绍、分类、作用和特点
  2. Mocha+should+Karma自动化测试教程
  3. gcc: error: CreateProcess: No such file or directory解决方案
  4. 深入java虚拟机学习 -- 类的加载机制(续)
  5. Excel制作图表的方法
  6. Linux笔记 1-8 --文件传输
  7. 对synchronized的一点理解
  8. Win7 路由上网DNS服务器ping不通的解决方法
  9. python 迭代器、生成器、yield、iter
  10. 计算机语言2进制怎么计算,计算机语言二进制…八进制、十进制…怎样推算?数制是怎么读?...
  11. MC音乐网免费解析下载工具 v1.0
  12. Cobbler结合windows DHCP服务器的使用
  13. Pandas 基础(4) - 读/写 Excel 和 CSV 文件
  14. xsehll不能删除字符的解决方案
  15. dsp呼吸灯C语言编程,pwm呼吸灯原理及程序分享
  16. VC890D万用表弹片图片
  17. Field _II 仿真 学习笔记
  18. Shufflenet解读
  19. 高德导航java_通过拼接实现高清地图的下载-高德-java实现
  20. 蓝箭航天自主研发80吨液氧甲烷发动机喷管下线

热门文章

  1. 哀悼日-全网变灰效果实现
  2. 电离层对高分辨率星载SAR成像的影响1——电离层的相关定义
  3. ThinkPad键盘拆解与清理(附图详解)
  4. 大规模定制生产模式及其关键技术
  5. 计算机屏幕方向变化,知识:如何切换笔记本电脑屏幕的方向_计算机的基本知识_IT /计算机_信息...
  6. java生成竖排文字图片_怎么给图片加上竖排文字?
  7. 【图像压缩】多层超先验模型 《Coarse-to-Fine Hyper-Prior Modeling for Learned Image Compression》
  8. 【SLAM】——编译项目orb-slam2_with_semantic_labelling
  9. android 健身定时器,健身计时器Runtastic Timer
  10. MCU学习笔记_ARM Cortex M0_简介