网站群建设,建设银行官方网站打不开,深圳互联网公司比较多的地方,wordpress前端怎么写1. 数据清洗1.1 空值和缺失值的处理空值一般表示数据未知、不适用或将在以后添加数据。缺失值是指数据集中某个或某些属性的值是不完整的。一般空值使用None表示#xff0c;缺失值使用NaN表示1.1.1 使用isnull()和notnull()函数可以判断数据集中是否存在空值和缺失值1.1…1. 数据清洗1.1 空值和缺失值的处理空值一般表示数据未知、不适用或将在以后添加数据。缺失值是指数据集中某个或某些属性的值是不完整的。一般空值使用None表示缺失值使用NaN表示1.1.1 使用isnull()和notnull()函数可以判断数据集中是否存在空值和缺失值1.1.1.1 isnull()语法格式pandas . isnull(obj)1.1.1.2 notnull()语法格式pandas . notnull(obj)notnull()与 isnull()函数的功能是一样的都可以判断数据中是否存在空值或缺失值不同处在于前者发现数据中有空值或缺失值时返回False后者返回的是True.1.1.2 使用 dropna()和fillna()方法对缺失值进行删除和填充。1.1.2.1 dropna()删除含有空值或缺失值的行或列axis确定过滤行或列how确定过滤的标准默认是‘any’inplase:False不修改对象本身1.1.2.2 fillna()方法可以实现填充空值或者缺失值value用于填充的数值method表示填充方式默认值为None‘ffill’前填充‘bfill’后填充limit可以连续填充的最大数量默认None.1.2 重复值的处理当数据中出现了重复值在大多数情况下需要进行删除。1.2.1 使用duplicated()和drop_duplicates()方法duplicated()方法用于标记是否有重复值。drop_duplicates()方法用于删除重复值。它们的判断标准是一样的即只要两条数中所有条目的值完全相等就判断为重复值。1.2.2 duplicated()方法的语法格式subset用于识别重复的列标签或列标签序列默认识别所有的列标签。keep删除重复项并保留第一次出现的项取值可以为 first、last或 Falseduplicated()方法用于标记 Pandas对象的数据是否重复重复则标记为True不重复则标记为False所以该方法返回一个由布尔值组成的Series对象它的行索引保持不变数据则变为标记的布尔值强调注意(1)只有数据表中两个条目间所有列的内容都相等时duplicated()方法才会判断为重复值。(2)duplicated()方法支持从前向后( first)和从后向前(last)两种重复值查找模式默认是从前向后查找判断重复值的。换句话说就是将后出现的相同条目判断为重复值。1.2.2.1 drop_duplicates()方法的语法格式2上述方法中 inplace参数接收一个布尔类型的值表示是否替换原来的数据默认为False.1.3 异常值的处理异常值是指样本中的个别值其数值明显偏离它所属样本的其余观测值这些数值是不合理的或错误的。1.3.1 常用的检测方法有3σ原则(拉依达准则)和箱形图3σ原则是基于正态分布的数据检洳而箱形图没有什么严格的要求可以检测任意一组数据1.3.1.1 3σ原则是指假设一组检测数据只含有随机误差对其进行计算处理得到标准偏差按一定概率确定一个区间凡是超过这个区间的误差都是粗大误差在此误差的范围内的数据应予以剔除。数值几乎全部集中在(μ-3σμ3σ)]区间内超出这个范围的可能性仅占不到0.3%.所以凡是误差超过这个区间的就属于异常值应予以剔除def three_sidma(ser):# ser 为数据的列mean_valueser.mean()# 平均值std_valueser.std()# 标准值rule(sermean_value3*std_value)indexnp.arange(ser.shape[0])[rule]outrangeser.iloc[index]return outrange1.3.1.2 箱形图箱开图是一种用作显示一组数据分散情况的统计图。在箱形图中异常值通常被定义为小于QL-15QR或大于QU1.5IQR的值。(1)QL称为下四分位数表示全部观察中四分之一的数据取值比它小(2)QU称为上四分位数表示全部观察值中有四分之一的数据取值比它大(3)IQR称为四分位数间距是上四分位数0与下四分位数则之差其间包含了全部观察值的一半。离散点表示的是异常值上界表示除异常值以外数据中最大值下界表示除异常值以外数据中最小值。boxplot()方法专门用来绘制箱形图。检测出异常值后通常会采用如下四种方式处理这些异常值a)直接将含有异常值的记录删除。b)用具体的值来进行替换可用前后两个观测值的平均值修正该异常值c)不处理直接在具有异常值的数据集上进行统计分析d)视为缺失值利用缺失值的处理方法修正该异常值。如果希望对异常值进行修改则可以使用replace()方法进行替换该方法不仅可以对单个数据进行替换也可以多个数据执行批量替换操作。to_replace表示查找被替换值的方式value用来替换任何匹配 to_replace的值默认值None.1.4 更改数据类型在处理数据时可能会遇到数据类型不一致的问题。例如通过爬虫采集到的数据都是整型的数据在使用数据时希望保留两位小数点这时就需要将数据的类型转换成浮点型。创建 Pandas数据对象时如果没有明确地指出数据的类型则可以根据传入的数据推断出来并且通过 dtypes属性进行查看。1.4.1 在使用构造方法中的 dtype参数指定数据类型1.4.2 通过 astype()方法可以强制转换数据的类型。dtype表示数据的类型。errors错误采取的处理方式可以取值为 raise或 ignore.其中 raise表示允许引发异常ignore表示抑制异常默认为 raise.astype()方法存在着一些局限性只要待转换的数据中存在非数字以外的字符在使用 astype()方法进行类型转换时就会出现错误而to_numeric()函数的出现正好解决了这个问题。1.4.3 to_numeric()函数可以将传入的参数转换为数值类型。arg表示要转换的数据可以是list、tuple、 Series.errors表示错误采取的处理方式。2. 数据合并2.1轴向堆叠数据2.1.1 concat()函数concat()函数可以沿着一条轴将多个对象进行堆叠其使用方式类似数据库中的数据表合并。axis表示连接的轴向可以为0或1默认为0join表示连接的方式inner表示内连接 outer表示外连接默认使用外连接。i gnore_index如果设置为True清除现有索引并重置索引值。names结果分层索引中的层级的名称。根据轴方向的不同可以将堆叠分成横向堆叠与纵向堆叠默认采用的是纵向堆叠方式。在堆叠数据时默认采用的是外连接(join参数设为 outer)的方式进行合并当然也可以通过joininner设置为内连接的方式。2.2 主键合并数据主键合并类似于关系型数据库的连接方式它是指根据个或多个键将不同的 DataFrame对象连接起来大多数是将两个 DataFrame对象中重叠的列作为合并的键。2.2.1 merge()函数left参与合并的左侧 DataFrame对象。right参与合并的右侧 DataFrame对象。how表示连接方式默认为 inner。2.2.1.1 how参数可以取下列值left使用左侧的 DataFrame的键类似SQL的左外连接right使用右侧的 DataFrame的键类似SQL的右外连接outer使用两个 DataFrame所有的键类似SQL的全连接。inner使用两个 DataFrame键的交集类似SQL的内连接在使用 merge()函数进行合并时默认会使用重叠的列索引做为合并键并采用内连接方式合并数据即取行索引重叠的部分。merge()函数还支持对含有多个重叠列的 Data frame对象进行合并。使用外连接的方式将 left与right进行合并时列中相同的数据会重叠没有数据的位置使用NaN进行填充。2.3 根据行索引合并数据join()方法能够通过索引或指定列来连接多个DataFrame对象2.3.1 join()方法on名称用于连接列名。how可以从{left‘’right outer‘inner}中任选一个默认使用左连接的方式。sort根据连接键对合并的数据进行排序默认为 False.2.4 合并重叠数据当DataFrame对象中出现了缺失数据而我们希望使用其他 DataFrame对象中的数据填充缺失数据则可以通过 combine_first()方法为缺失数据填充。2.4.1 combine_first()方法上述方法中只有一个参数 other该参数用于接收填充缺失值的 DataFrame对象。注意使用combine_first()方法合并两个DataFrame对象时必须确保它们的行索引和列索引有重叠的部分3. 数据重塑3.1 重塑层次化索引Pandas中重塑层次化索引的操作主要是 stack()方法和 unstack()方法前者是将数据的列“旋转”为行后者是将数据的行“旋转”为列。3.1.1 stack()方法stack()方法可以将数据的列索引转换为行索引。level默认为-1表示操作内层索引。若设为0表示操作外层索引。dropna表示是否将旋转后的缺失值删除若设为True则表示自动过滤缺失值设置为 False则相反。3.1.2 unstack()方法unstack()方法可以将数据的行索引转换为列索引level默认为-1表示操作内层索引0表示操作外层索引。fill_value若产生了缺失值则可以设置这个参数用来替换NaN。3.2 轴向旋转在 Pandas中pivot()方法提供了这样的功能它会根据给定的行或列索引重新组织一个 DataFrame对象。3.2.1 pivot()方法index用于创建新 DataFrame对象的行索引。columns用于创建新 DataFrame对象的列索引values用于填充新 DataFrame对象中的值。4. 数据转换4.1 重命名轴索引Pandas中提供了一个rename()方法来重命名个别列索引或行索引的标签或名称。4.1.1 rename()方法indexcolumns表示对行索引名或列索引名的转换。inplace默认为False表示是否返回新的Pandas对象。4.2 离散化连续数据Pandas 的 cut ()函数能够实现离散化操作。4.2.1 cut ()函数x表示要分箱的数组必须是一维的。bins接收int和序列类型的数据。(序列划分区间)right是否包含右端点决定区间的开闭默认为True。cut()函数会返回一个Categorical对象我们可以将其看作一组表示 面元名称 的字符串它包含了分组的数量以及不同分类的名称。Categories对象中的区间范围跟数学符号中的“区间”一样都是用圆括号表示开区间用方括号则表示闭区间。ages[18,22,25,27,21,23,37,31,60,45,82]bins[0,18,25,50,60,100] # bins是一个序列划分区间cutspd.cut(ages,bins)cuts设置左闭右开区间则可以在调用cut()函数时传入rightFalse进行修改。# 如果希望设置左右开区间则可以在调用cut函数时传入right False进行修改。pd.cut(ages,binsbins,rightFalse)# 可以在调用cut函数时指定labels 用干生成区间的标签pd.cut(ages,binsbins,labels[少年,青年,中年,中老年,老年])4.3 哑变量处理类别型数据在Pandas中可以使用get_dummies()函数对类别特征进行哑变量处理.4.3.1 get_dummies()函数data表示哑变量处理的数据。prefix表示列名的前缀默认为None。(‘col’)prefix_sep用于附加前缀作为分隔符使用默认为“_”。哑变量又称应拟变量名义变量从名称上看就知道它是人为虚设的变量用来反映某个交量的不间类别使用哑变最处理类别转换事实上就是将分类变量转换为哑变最矩阵或指标矩阵矩阵的值通常用“0”或“1”表示df1pd.DataFrame({职业:[工人,学生,司机,教师,导游]})# get_dummies()对类别特进行哑变量处理pd.get_dummies(df1)pd.get_dummies(df1,prefix[col])4.3.2 cut()函数与get_dummies()函数的混合使用retpd.cut(ages,binsbins,rightFalse,labels[少年,青年,中年,中老年,老年])pd.get_dummies(ret,prefix年龄类别,prefix_sep:)