数据清洗

链家房源数据清洗和预处理(pandas)

牧云@^-^@ 提交于 2019-12-08 22:28:57
链家房源数据清洗和预处理(pandas) 背景知识要求 摘要 正文 数据清洗 数据预处理 结论 参考 背景知识要求 Python的pandas库。 pandas官网: http://pandas.pydata.org/ 摘要 本文使用pandas库对上一篇文章:链家房源数据爬取(Scrapy) https://blog.csdn.net/qq_39206674/article/details/90114296 获取的数据进行清洗和预处理。 正文 数据清洗 原始数据部分内容如下: 数据清洗过程包括: 去除Nan数据和重复数据 去除未知和有缺失的数据 去除经过分析无用的数据(以房源为例:车位、别墅数据为无用数据) 数据清洗代码: # 读文件 df = pd . read_csv ( r 'lianjia.csv' , sep = ',' ) # 打印原始基本信息 print ( "original data rowCount: %d" % ( df . shape [ 0 ] ) ) print ( "original data colCount: %d" % ( df . shape [ 1 ] ) ) print ( df . dtypes ) # 去除Nan数据和重复数据 df . dropna ( inplace = True ) df . drop_duplicates (

数据清洗和预处理详解

 ̄綄美尐妖づ 提交于 2019-12-07 18:55:30
数据预处理是建立机器学习模型的第一步(也很可能是最重要的一步),对最终结果有决定性的作用:如果你的数据集没有完成数据清洗和预处理,那么你的模型很可能也不会有效——就是这么简单。 人们通常认为,数据预处理是一个非常枯燥的部分。但它就是「做好准备」和「完全没有准备」之间的差别,也是表现专业和业余之间的差别。就像为度假做好事先准备一样,如果你提前将行程细节确定好,就能够预防旅途变成一场噩梦。 那么,应该怎么做呢? 本文将带你领略,如何在任意的数据集上,针对任意一个机器学习模型,完成数据预处理工作。 第一步,导入 让我们从导入数据预处理所需要的库开始吧。库是非常棒的使用工具:将输入传递给库,它则完成相应的工作。你可以接触到非常多的库,但在 PYTHON 中,有三个是最基础的库。任何时候,你都很可能最终还是使用到它们。这三个在使用 PYTHON 时最流行的库就是 Numpy、Matplotlib 和 Pandas。Numpy 是满足所有数学运算所需要的库,由于代码是基于数学公式运行的,因此就会使用到它。Maplotlib(具体而言,Matplotlib.pyplot)则是满足绘图所需要的库。Pandas 则是最好的导入并处理数据集的一个库。对于数据预处理而言,Pandas 和 Numpy 基本是必需的。 最适当的方式是,在导入这些库的时候,赋予其缩写的称呼形式,在之后的使用中

使用Python爬取、清洗并分析前程无忧的大数据职位

跟風遠走 提交于 2019-12-06 14:31:13
爬取前程无忧的数据(大数据职位) 1 # -*- coding: utf-8 -*- 2 """ 3 Created on Wed Nov 1 14:47:27 2019 4 5 @author: loo 6 """ 7 8 9 import scrapy 10 import csv 11 from scrapy.crawler import CrawlerProcess 12 13 14 class MySpider(scrapy.Spider): 15 name = "spider" 16 17 def __init__(self): 18 # 保存为CSV文件操作 19 self.f = open('crawl_51jobs.csv', 'wt', newline='', encoding='GBK', errors='ignore') 20 self.writer = csv.writer(self.f) 21 '''title,locality,salary,companyName,releaseTime''' 22 self.writer.writerow(('职位', '公司地区','薪资', '公司名称', '发布时间')) 23 24 # 设置待爬取网站列表 25 self.urls = [] 26 # 设置搜索工作的关键字 key 27 key = '大数据'

机器学习:数据清洗和特征选择

孤街醉人 提交于 2019-12-06 07:01:23
数据清洗和特征选择 数据清洗 清洗过程 数据预处理: 选择数据处理工具:数据库、Python相应的包; 查看数据的元数据及数据特征; 清理异常样本数据: 处理格式或者内容错误的数据; 处理逻辑错误数据:数据去重,去除/替换不合理的值,去除/重构不可靠的字段值; 处理不需要的数据:在进行该过程时,要注意备份原始数据; 处理关联性验证错误的数据:常应用于多数据源合并的过程中。 采样: 数据不均衡处理:上采样、下采样、SMOTE算法 样本的权重问题 数据不平衡 在实际应用中,数据的分布往往是不均匀的,会出现"长尾现象",即绝大多数的数据在一个范围/属于一个类别,而在另外一个范围或者类别中,只有很少一部分数据。此时直接采用机器学习效果不会很好,因此需要对数据进行转换操作。 长尾效应: 解决方案01 设置损失函数的权重, 使得少数类别数据判断错误的损失大于多数类别数据判断错误的损失 ,即:当我们的少数类别数据预测错误的时候,会产生一个比较大的损失值,从而导致模型参数往让少数类别数据预测准确的方向偏。 可通过设置sklearn中的class_weight参数来设置权重。 解决方案02 下采样/欠采样(under sampling): 从多数类中随机抽取样本从而减少多数类别样本数据 ,使数据达到平衡的方式。 集成下采样/欠采样:采用普通的下采样方式会导致信息丢失

ETL讲解

别说谁变了你拦得住时间么 提交于 2019-12-06 02:02:39
ETL讲解 ETL讲解(很详细!!!) ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。 ETL是BI项目重要的一个环节。 通常情况下,在BI项目中ETL会花掉整个项目至少1/3的时间,ETL设计的好坏直接关接到BI项目的成败。   ETL的设计分三部分:数据抽取、数据的清洗转换、数据的加载。在设计ETL的时候我们也是从这三部分出发。数据的抽取是从各个不同的数据源抽取到ODS(Operational Data Store,操作型数据存储)中——这个过程也可以做一些数据的清洗和转换),在抽取的过程中需要挑选不同的抽取方法,尽可能的提高ETL的运行效率。ETL三个部分中,花费时间最长的是“T”(Transform,清洗、转换)的部分,一般情况下这部分工作量是整个ETL的2/3。数据的加载一般在数据清洗完了之后直接写入DW(Data Warehousing,数据仓库)中去。   ETL的实现有多种方法,常用的有三种。一种是借助ETL工具(如Oracle的OWB、SQL Server 2000的DTS、SQL Server2005的SSIS服务、Informatic等)实现,一种是SQL方式实现,另外一种是ETL工具和SQL相结合。前两种方法各有各的优缺点

numpy-数据清洗

时光怂恿深爱的人放手 提交于 2019-12-05 14:55:28
一、对G列数据进行清洗,根据['无','2000-3999','4000-5999','6000-7999','8000-9999','>10000']进行划分 去处重复值 # 删除重复值 # print('删除重复值前大小',data.shape) # # 删除记录 # data = data.drop_duplicates() # print('删除重复值后大小',data.shape) 删除缺失值 """删除缺失值""" #df.dropna()# 删除出现缺失值得行 # df.dropna(axis=1) #df.dropna(how='any') # 只要出现缺失值就删除 #df.dropna(subset=['房价'])# 指定列出现缺失值才删除 #data.dropna(how='all') # 当整行数据都为nan 时才删除 删除或填充缺失值 """一、删除或填充缺失值""" data.iloc[1429:] new_data = data.drop(index=range(1430,1780)).fillna({'期望薪资':'无'}) 将不同单位的薪资形式,转化成统一形式 """二、将不同单位的薪资形式,转化成统一形式""" print(new_data['期望薪资'].str[-6:].value_counts()) 将不规则的薪资形式转化为统一形式 ""

postgre数据清洗

流过昼夜 提交于 2019-12-05 14:33:52
select "BATCH_NUMBER" as batchNumber, count(1) as applyNum from ( select "BATCH_NUMBER" from ( select "BATCH_NUMBER", row_number() over(partition by "PT_NAME","BATCH_NUMBER","POLICY_NAME") as rown from syc_industry_support_policy where data_status='1' and "STAT"='申请成功' and "BATCH_NUMBER" like (to_char((SELECT now()::timestamp),'yyyy')||'%') ) t where t.rown=1 )t1 group by "BATCH_NUMBER" order by cast( "BATCH_NUMBER" as numeric) desc 来源: https://my.oschina.net/goudingcheng/blog/3133487

pandas 之 数据清洗-缺失值

倾然丶 夕夏残阳落幕 提交于 2019-12-05 03:10:49
Abstract During the course fo doing data analysis and modeling, a significant amount of time is spend on data preparation: loading, cleaning, transforming, and rearrangin. 在整个数据分析建模过程中, 大量的时间(80%)的时间是用在了数据的预处理中, 如数据清洗, 加载, 标准化, 重塑等. Such tasks are often reported to take 80% or more of an analyst's time. Sometimes the way that data is store in(存储于) files or databases is not in the right format for a particular task (数据存储在文件, 或数据库中, 而且格式, 内容不是你预想的那样能直接用的) Many reseachers choose to do ad hoc processing of data from one form to another using a general-purpose programming language, like Python, R,

MapReduce清洗数据进行可视化

感情迁移 提交于 2019-12-04 16:28:41
继上篇第一阶段清洗数据并导入hive 本篇是剩下的两阶段 2 、数据处理: ·统计最受欢迎的视频/文章的Top10访问次数 (video/article) ·按照地市统计最受欢迎的Top10课程 (ip) ·按照流量统计最受欢迎的Top10课程 (traffic) 3、数据可视化:将统计结果倒入MySql数据库中,通过图形化展示的方式展现出来。 2、 ·统计最受欢迎的视频/文章的Top10访问次数 (video/article) package mapreduce; import java.io.IOException; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.io.WritableComparable; import org.apache.hadoop.mapreduce.Job; import org.apache.hadoop.mapreduce.Mapper; import org.apache.hadoop.mapreduce.Reducer; import org.apache.hadoop.mapreduce.Reducer.Context;

课堂测试-数据清洗

荒凉一梦 提交于 2019-12-04 12:02:09
今天完成的是第二部数据的清洗,由于在网上查阅了相关资料,进一步了解了有关mapreduce的运作机理,所以在做起来时,较以前简单了许多。 import java.io.IOException; 2 import org.apache.hadoop.conf.Configuration; 3 import org.apache.hadoop.fs.Path; 4 import org.apache.hadoop.io.Text; 5 import org.apache.hadoop.mapreduce.Job; 6 import org.apache.hadoop.mapreduce.Mapper; 7 import org.apache.hadoop.mapreduce.Reducer; 8 import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; 9 import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; 10 11 public class text_2_1 { 12 public static class Map extends Mapper<Object,Text,Text,Text>{ 13 private static Text