当前位置: 首页 > news >正文

合肥免费招聘网站网站域名迁移公告

合肥免费招聘网站,网站域名迁移公告,网站网站做员工犯法吗,织梦网站上传保存文档1 数据清洗 #### 概述数据清洗是指对原始数据进行处理和转换#xff0c;以去除无效、重复、缺失或错误的数据#xff0c;使数据符合分析的要求。#### 作用和意义- 提高数据质量#xff1a;- 通过数据清洗#xff0c;数据质量得到提升#xff0c;减少错误分析和错误决策。…1 数据清洗 #### 概述数据清洗是指对原始数据进行处理和转换以去除无效、重复、缺失或错误的数据使数据符合分析的要求。#### 作用和意义- 提高数据质量- 通过数据清洗数据质量得到提升减少错误分析和错误决策。 - 增加数据可用性- 清洗后的数据更加规整和易于使用提高数据的可用性和可读性。## 清洗维度- 缺失值处理- 对于缺失的数据可以删除包含缺失值的行或列或者填充缺失值。 - 重复值处理- 识别和删除重复的数据行避免重复数据对分析结果产生误导。 - 异常值处理- 检测和处理异常值决定是删除、替换或保留异常值。## 缺失值清洗##### 缺失值/空值的删除- 伪造缺失值数据import pandas as pd from pandas import DataFrame, Seriesdf pd.read_csv(./data/none.csv, index_col0) df # NaN就是None空白缺失值的检测和删除,相关方法 isnull():检测df中的每一个元素是否为空值为空则给该元素返回True否则返回Falsenotnull():检测df中的每一个元素是否为非空值为非空则给该元素返回True否则返回Falseany():检测一行或一列布尔值中是否存在一个或多个True有则返回True否则返回Falseall():检测一行或一列布尔值中是否存全部为True有则返回True否则返回Falsedropna():将存在缺失值/空值的行或者列进行删除 # 检测哪些列中存在控制 df.isnull()# 检测非空值 df.notnull()# 可以判断哪些列存在控制 # axis0表示针对列进行any操作 # axis1表示针对行进行any操作 df.isnull().any(axis0)df.notnull().all(axis0)dropna()进行空值检测和过滤 # 直接返回删除空值对应后的结果不会直接改变原始数据 df.dropna()计算df中每一列存在缺失值的个数和占比 for col in df.columns:# 满足该条件则表示第col列中存在空值if df[col].isnull().sum() 0:# 求出该列空值的个数null_count df[col].isnull().sum()# 求出该列中空值的占比 空值的数量/列的总元素个数p format(null_count / df[col].size, .2%)print(col, null_count, p)使用任意值填充空值 # 如果想应用于原始数据就加上inplaceTrue df.fillna(value666)使用近邻值填充空值 # 在竖直方向上会用空值前面的值填充空值 ffill前值填充 df.fillna(axis0, methodffill).fillna(axis0, methodbfill) # bfill后值填充使用相关的统计值填充空值 # 可以空值列的均值、中位数、方差等统计指标对空值进行填充 for col in df.columns:if df[col].isnull().sum() 0:# 计算出空值对应的均值mean_value df[col].mean()df[col].fillna(valuemean_value, inplaceTrue) df注意实现空值的清洗最好选择删除的方式如果删除的成本比较高再选择填充的方式。 2 重复值清洗 伪造重复行的数据源 df pd.read_csv(data/repeat.csv, index_col0) df使用duplicated()方法检测重复的行数据 df.duplicated().sum() # 2使用drop_duplicates()方法检测且删除重复的行数据 df.drop_duplicates()3 异常值清洗 异常值是分析师和数据科学家常用的术语因为它需要密切注意否则可能导致错误的估计。 简单来说异常值是一个观察值远远超出了样本中的整体模式。 异常值在统计学上的全称是疑似异常值也称作离群点异常值的分析也称作离群点分析。 异常值是指样本中出现的“极端值”数据值看起来异常大或异常小其分布明显偏离其余的观测值。 异常值分析是检验数据中是否存在不合常理的数据。 给定条件的异常数据处理 自定义一个1000行3列ABC取值范围为0-1的数据源然后将C列中的值大于其两倍标准差的异常值进行清洗 data pd.read_csv(./data/outlier.csv, index_col0) data# C列的2倍标准差 twice_std data[C].std() * 2 twice_std# 判定异常值, 即值大于2倍的标准差 ex data[C] twice_std ex # True表示异常值False标志正常值# 取出True对应的行数据 (异常值对应的行数据) data.loc[ex]# 提取异常值对应行数据的行索引 drop_index data.loc[ex].index drop_index# 将异常值对应的行从数据表格中进行删除 data.drop(indexdrop_index)3 map映射 给Series中的一组数据提供另外一种表现形式或者说给其绑定一组指定的标签或字符串。创建一个df两列分别是姓名和薪资然后给其名字起对应的英文名,然后将英文的性别统一转换为中文的性别 dic {name: [tom, jerry, alex, tom],salary: [10000, 20000, 15000, 21000],gender: [male, female, male, female] } df pd.DataFrame(datadic) df# 将性别使用中文来标志 sex_dic {male:男,female:女 }# map可以根据gender这组数据中的每一个元素根据字典表示的关系进行映射 df[gender] df[gender].map(sex_dic) df# 给每一个英文名起一个中文名 name_dic {tom: 张三,jerry: 李四,alex: 王五 } df[e_name] df[name].map(name_dic) df4 数据运算 map函数对Series数据的运算处理(map作为Series的运算工具) 超过3000部分的钱缴纳50%的税计算每个人的税后薪资 def after_sal(s): # 此处s参数表示每一个薪资的数据# 该函数的调用次数取决于salary列中元素的个数return s - (s - 3000) * 0.5df[after_sal] df[salary].map(after_sal) df# 改为匿名函数 df[salary].map(lambda s: s - (s - 3000) * 0.5)dic {name: [tom, jerry, alex, tom],salary: [10000, 20000, 15000, 21000],gender: [male, female, male, female],hire_date: [2020-01-10, 2021-11-11, 2022-12-12,2023-01-19,] } df pd.DataFrame(datadic) df# 将每一个员工的入职日期 2 年 # 将 hire_date 转换为日期格式并加上2年 df[hire_date] pd.to_datetime(df[hire_date]) df[hire_date_now] df[hire_date].map(lambda x: x pd.DateOffset(years2)) dfdic {name: [tom, jerry, alex, tom],salary: [10000, 20000, 15000, 21000],gender: [male, female, male, female],hire_date: [2020-01-10, 2021-11-11, 2022-12-12,2023-01-19,] } df pd.DataFrame(datadic)# 也可以使用函数 # 将每一个员工的入职日期 2 年 def func(x):year, month, day x.split(-)year int(year) 2return str(year)-month-day df[hire_date] df[hire_date].map(func) df提示:apply也可以像map一样充当运算工具不过apply运算效率要远远高于map。 因此在数据量级较大的时候可以使用apply。 dic {name: [tom, jerry, alex, tom],salary: [10000, 20000, 15000, 21000],gender: [male, female, male, female],hire_date: [2020-01-10, 2021-11-11, 2022-12-12,2023-01-19,] } df pd.DataFrame(datadic)def func(x):year, month, day x.split(-)year int(year) 2return str(year)-month-day df[hire_date] df[hire_date].apply(func) df5 数据分组 数据分类处理的核心 groupby()函数groups属性查看分组情况 import pandas as pd import warningswarnings.filterwarnings(ignore)df pd.DataFrame({item:[Apple,Banana,0range,Banana,0range,Apple],price:[4, 3, 3, 2.5, 4, 2],color:[red,yellow,yellow,green,green,green],weight:[12,20,50,30,20,44] }) df# 计算每种水果的平均价格 df.groupby(byitem).groups # groups查看分组的结果mean_price df.groupby(byitem)[price].mean() mean_price# 将平均价格转为字典 dic mean_price.to_dict() dic# 将水果的平均价格汇总到原始的数据中 df[mean_price] df[item].map(dic) df# 计算不同颜色水果的最大重量 max_weight df.groupby(bycolor)[weight].max()max_weightdic max_weight.to_dict() df[color].map(dic)# 将不同水果的最大重量汇总到原始的数据中 df[max_weight] df[color].map(dic) df# 计算每种水果最大价格和最低价格的差值 def func(x): # 参数x:一组水果的所有价格return x.max() - x.min()df.groupby(byitem)[price].transform(func)agg实现对分组后的结果进行多种不同形式的聚合操作 # 求每种水果的最大和最小价格 df.groupby(byitem)[price].agg([max, min, mean, sum]) 6 透视表pivot_table函数 对不同字段不同形式的聚合操作 # 计算每种水果的平均价格 # 参数index表示分组的条件 # 参数values表示对哪些字段进行聚合操作 # 参数aggfunc用户指定聚合形式 df.pivot_table(indexitem, valuesprice, aggfuncmean)# 计算不同颜色水果的最大、最小和平均重量 df.pivot_table(indexcolor, aggfunc{weight: max, weight: min, weight: mean,})# 计算不同颜色水果的最大、最小和平均重量 df.pivot_table(indexcolor, valuesweight, aggfunc[max, min, mean])
http://www.w-s-a.com/news/15216/

相关文章:

  • 用jsp做网站国内知名设计工作室
  • 一键搭建网站北京公司网站设计
  • 山东省城乡建设部网站网站营销单页怎么做
  • 中国移动视频网站建设百度统计官网
  • 网站实施过程网站上传视频怎么做
  • 网上书店网站建设实训总结嘉兴seo
  • 网站运行需求cos wordpress
  • 网络小说网站推广策划方案单位网站建设收费标准
  • 医院网站建设论证报告河源网站seo
  • 网站demo怎么做淘宝客网站一般用什么做的
  • 网站开发之美 pdf关键词查询优化
  • 可以建站的网站做一个网站美工多少钱
  • 怎么做网站专题互联网营销师报考费用
  • 淘宝导购网站怎么做上海数据开放网站建设
  • 广东网站建设怎么选2021个人网站盈利模式
  • 珠海网站建设的公司排名网站前端开发培训
  • 手机网站制作 费怎么做分录网站域名hk
  • 济南做网站建网站公司怎样用代码制作网站
  • 网站开发文档有哪些建设规划
  • 专注网站建设11年百度搜索不到我的网站
  • 企业网站 建设 流程wordpress 分类目录自定义
  • 北京市建设管理公司网站长春网站推广排名
  • 西安建站软件获取网站全站代码
  • 个人做网站怎么备案网站建设收费标准渠道
  • 单位做网站注意什么问题如何修改单页网站
  • asp全静态企业网站wordpress文章封面
  • 电白区住房和城乡建设部门户网站免费公司网站模版
  • 做玩游戏任务得q币的网站如何制作自己的公司内部网站
  • 网站优化自己可以做吗非官方网站建设
  • 厦门邮件网站点击网站