数据清洗

Python数据分析(数据清洗分类和整理)

匿名 (未验证) 提交于 2019-12-02 22:51:08
一.工具的使用 操作: 1. 等待初始化: 2.在浏览器中打开Anaconda 3.输入代码进行数据分析: 4.将数据导入 df = pd . read_csv ( 'I:/SneakerData/task_all/sneaker.csv' ) 5.将数据导出 df . to_csv ( 'I:/SneakerData/intermediateResult/sneaker.csv' ) 二.数据清洗 1.目标: 检查空值和重复值 检查空值: df [ 'price' ] . isnull ( ) . sum ( ) df [ 'style' ] . isnull ( ) . sum ( ) df [ 'tk' ] . isnull ( ) . sum ( ) 或者 df [ 'tk' ] . isnull ( ) . any ( ) 处理空值,变成0 df . fillna ( 0 ) 检查某列是否有重复值 代码: df . duplicated ( ) . value_counts ( ) 结果: 没有重复值!!!表扬虎扑!!! 三.数据整理 1.目标: Xxx个配色―>xxx 正则表达式 ([±]?\d+(.\d+)?) 代码: df [ 'style' ] = df [ 'style' ] . str . extract ( '([+-]?\d+(\.\d+)?)' ) df

数据清洗

末鹿安然 提交于 2019-12-02 17:06:45
处理缺失值 通过isnull和notnull方法,可以返回布尔值的对象。 这时通过求和可以获取每列的缺失值数量,再通过求和就可以获得整个DataFrame的缺失值数量 侦查缺失值 创建有缺失值的DataFeame >>> from pandas import Series,DataFrame >>> import pandas as pd >>> import numpy as np >>> df1 = DataFrame([[5,3,5],[1,6,np.nan],["lili",np.nan,"pop"],[np.nan,"a","b"]]) >>> df1 0 1 2 0 5 3 5 1 1 6 NaN 2 lili NaN pop 3 NaN a b 查看缺失值 >>> df1.isnull() 0 1 2 0 False False False 1 False False True 2 False True False 3 True False False >>> df1.notnull() 0 1 2 0 True True True 1 True True False 2 True False True 3 False True True 缺失值计算 >>> df1.isnull().sum() 0 1 1 1 2 1 dtype: int64 >>> df1

推广项目新架构新增清洗历史数据

前提是你 提交于 2019-12-01 02:02:04
1、背景: 数据在使用的过程中会慢慢衰减,原因是数据使用频繁会被冻结一段时间和其他一些造成数据某个时间点不可用的未知因素,基于这中现象有必要设计清洗历史数据。我们当前原始清洗过程只是负责获取基本信息,因为历史数据的清洗会出现获取基本信息后不能做任务,所以我的设计将清洗历史数据分成初次清洗和二次清洗两个阶段。初次清洗是获取基本信息,二次清洗是再从中提取出可以做任务的数据。 2、设计逻辑:   历史数据按每个月分三部分备份,例如:his_clean_t2018111,his_clean_t2018112,his_clean_t2018113 历史数据初次清洗是将每部分历史数据数据按照关键字段去重后存储到old_clean_t,工程xx-ck-clean分发数据到工程xx-rbt-clean获取初次清洗结果后存储到临时表old_short_succ_t,临时表old_short_error_t,为了保证数据不重复分发将已经分发的数据存储到临时表old_short_run_t,最后将基本信息持久化到表old_used_t。 历史数据二次清洗是将表old_used_t的数据插入到表old_used_task_t,如果已经存在的有效数据是不需要二次清洗的,所以二次清洗前需要将表old_used_task_t存在已经有效的数据删除过滤。工程xx-ck-task分发数据到工程xx-rbt

推广项目清洗旧数据

℡╲_俬逩灬. 提交于 2019-11-30 06:16:53
1、背景   数据初次清洗完成后,在做任务的过程中数据会不断衰减。当把初次清洗的数据后续衰减后,再次以做任务的方式清洗(做任务成功就代表数据可用)发现数据又可用了。由此推测部分数据可能有个冷却时间,当冷却时间过后又可以做任务,针对这种分析结果设计了旧数据循环清洗的功能。 2、设计方案 2.1、每10天的数据维护到一张历史表,例如:his_cookie_t2019082,his_cookie_t2019083分别代表2019-08-11至2019-08-20和2019-08-21至2019-08-31的数据; 2.2、每10以上将所有历史表数据按照关键字段去重后插入到初次清洗表cookie_clean_t; 2.3、正常清洗数据存储符合的数据到cookie_succ_t; 2.4、将初次清洗符合的数据(cookie_succ_t)和系统正常运营的数据(cookie_used_t)关联删除清洗符合的数据(cookie_succ_t)中重复数据; 2.5、分配符合的数据(cookie_succ_t)去做任务; 2.6、机器人做任务成功的数据uuid存储到redis; 2.7、从redis提取出来的数据插入到系统正常运营的数据(cookie_used_t)重复使用; 来源: https://www.cnblogs.com/xx0829/p/11566834.html

pandas入门06---数据清洗02

隐身守侯 提交于 2019-11-29 19:12:20
今天,我们接着上次的数据转换操作讲解 01 数据转换 01-01 替代值 通常我们使用replace来替换缺失值。 #!/usr/bin/python # - - coding: UTF-8 - - import pandas as pd import numpy as np data = pd.Series([1., -999., 2., -999., -1000, 3.]) print(data) print(data.replace(-999,np.nan)) 结果如下: 如果你想要一次替代多个值,可以传入一个列表或替代值。 print(data.replace([-999, -1000],np.nan)) 也可以对应替换: print(data.replace([-999, -1000],[np.nan,0])) # 参数也可以通过字典传递 print(data.replace({-999:np.nan,-1000:0})) 01-02 离散化和分箱 连续值经常需要离散化,或分离成“箱子”进行分析。 举例:对如下年龄进行分箱。 ages = [19, 20, 22, 25, 27, 21, 23, 27, 37, 31, 61, 45, 41, 32] bins = [18, 25, 35, 60, 100] cats = pd.cut(ages, bins) print

9.9学习笔记(数据清洗)

血红的双手。 提交于 2019-11-29 08:23:11
转换变量 填充缺失值 异常值、噪声值处理 重复值处理 删除不必要的列(属性 干净(X->Y)数据集 缺失值处理 import pandas as pd import numpy as np from sklearn.preprocessing import Imputer #填充缺失值 data=pd.DataFrame(np.random.randn(6,4),columns=['col1','col2','col3','col4'],index=['a','b','c','d','e','f']) ##1 print("Data原始数据:") print(data) #切片 提取 1:2左闭右开增加缺失值,区别loc ix data.iloc[1:2,1]=np.nan data.iloc[4,3]=np.nan ##2 print("查看增加了缺失值后的数据:") print(data) #查看缺失值 true即为缺失 nan_all=data.isnull() ##3 print("查看包含了缺失值的列:") print(nan_all) #获得含有na的列 nan_lie=data.isnull().any() #获得全部为na的列 nan_lielie=data.isnull().all() ##4 print("某列有一个缺失值:") print(nan_lie) #

推广项目新架构测试报告

谁说胖子不能爱 提交于 2019-11-28 22:26:07
拨号服务器测: 拨号服务器配置受限测试加载网页就超时,分析日志需要深入具体定位: 1、单条数据加载页面都超时,20s网页没加载完就关闭了; 2、Cannot run program "cmd": CreateProcess error=1455, 页面文件太小,无法完成操作 本地测试: 清洗规则 每次并发5条数据, 等待5s发现5条数据查询状态都返回异常结果,就直接返回给后台这5条数据清洗失败; 等待5s发现少于5条数据查询状态返回结果就说明有数据正常需要加载页面获取等级,加载页面设置时间20s,继续25s拿到等级或黄蓝V数据后返回结果; 测试结果: 测试数据3000条,本地清洗接近2个小时完成 1、2984条数据调用查询状态接口返回结果基本如下: "msg":"","code":"100002","data":"login" "msg":"","code":"100008","data":"login" 2、11条数据清洗成功,其中2条清洗出来的uid一样 3、5条数据清洗返回302,这5条数据需要验证是否是失效造成的 清洗出如下数据验证等级和是否带V正确: ...... 以下两个数据清洗出同一个uid为2538455220,说明程序清洗后要根据uid去重:

数据清洗和数据预处理

我只是一个虾纸丫 提交于 2019-11-28 16:33:06
背景:本文只是对机器学习相关知识的梳理和复习用,因此顺序上可能有些随意 摘要:   1.各种算法的推导   2.各种算法的比较(或优缺点)   3.学习理论 4.特征选择方法   5.模型选择方法   6.特征工程   7.数据预处理   8.应用例子 内容: 1.各种算法的推导 线性回归(Liner Regression): 9个基本概念和10个基本算法总结的岭(ridge)回归部分 -- 最简单的线性分类器    机器学习-感知机 -- 线性分类器,SVM和神经网络的基石   LR: 我的LR复习总结 -- 线性分类器,预测概率   支持向量机(SVM): 我的SVM复习总结 -- 线性/非线性分类器,核方法映射到高维线性可分   DT,RF,GBDT,XGBT: 决策树和基于决策树的集成方法(DT,RF,GBDT,XGBT)复习总结 -- 非线性分类器,决策树,规则学习/条件概率   关联规则: FPGrowth算法总结复习 -- FP树,规则学习   KNN: k近邻(KNN)复习总结 -- 非线性模型,KD树和ball tree,基于距离的模型   k-means: K-Means聚类和EM算法复习总结 -- 基于距离的的模型,KD树和ball tree   NB: 朴素贝叶斯(NB)复习总结 -- 线性分类器,判别模型与生成模型   LDA: 主题模型—

20.采集项目流程篇之清洗数据绑定到hive表中

天大地大妈咪最大 提交于 2019-11-28 13:08:28
先启动hive 在mydb2这个数据库中创建表; create external table mydb2.access(ip string,day string,url string,upflow string) row format delimited fields terminated by ','; 把清洗后的数据导入到刚刚创建的hive表中 load data inpath '/uvout/hive/' into table mydb2.access; 来源: https://www.cnblogs.com/braveym/p/11408421.html

用pandas进行数据清洗(一)(Data Analysis Pandas Data Munging/Wrangling)

痞子三分冷 提交于 2019-11-28 13:00:11
在《 用pandas进行数据清洗(一)(Data Analysis Pandas Data Munging/Wrangling) 》中,我们介绍了数据清洗经常用到的一些pandas命令。 接下来看看这份数据的具体清洗步骤: Transaction_ID Transaction_Date Product_ID Quantity Unit_Price Total_Price 0 1 2010-08-21 2 1 30 30 1 2 2011-05-26 4 1 40 40 2 3 2011-06-16 3 NaN 32 32 3 4 2012-08-26 2 3 55 165 4 5 2013-06-06 4 1 124 124 5 1 2010-08-21 2 1 30 30 6 7 2013-12-30 7 8 2014-04-24 2 2 NaN NaN 8 9 2015-04-24 4 3 60 1800 9 10 2016-05-08 4 4 9 36 1,查看数据的行列数: print(transactions.shape) (10, 6) 数据一共有10行6列。 2,查看数据的数据类型: print(transactions.dtypes) Transaction_ID int64 Transaction_Date datetime64[ns] Product_ID