图1 在下图2所示的工作簿GetData.xlsm中,根据列C中的数据,在上图1的工作簿Data.xlsx的列E中查找是否存在相应数据的单元格。 ?...图2 然后,将Data.xlsx中对应行的列I至列K单元格中的数据复制到GetData.xlsm相应的单元格中,如下图3所示。 ?... 3 Then MsgBox ("请选择列C中的单元格或单元格区域.")...Exit Sub Else '遍历所选的单元格 For Each rng In Selection '在数据工作表中查找相应的值所在的单元格...Set rngFound =wksData.Range("E:E").Find(rng, LookIn:=xlValues, lookat:=xlWhole) '如果找到
4.1 文本型列过宽 如果针对文本型的列收集直方图,Oracle只会将该文本型字段的头32个字节给取出来(实际上只取头15个字节),并转换为一个浮点数。...分析相应的数据选择性: 可以看到,由于在dba_tab_histograms视图中仅记录了前32个字符的信息, 而前32个字符中,如果其对应的ENDPOINT_ACTUAL_VALUE完全一致...4.2 数量型列过宽 如果针对数量型的列收集直方图,Oracle只会针对该数量型字段的前15位取ROUND。记录在直方图中。...值正好对应于表中数据的前15位取ROUND值。...继续分析相应列上的选择性: 采用上述数据分布出现差异的50-70区间段。 采用非popular值计算: 采用非popular值计算,进而与实际的差异较大。造成预估行数不准。
values (对应列名值1,对应列名值2...), (对应列名值1,对应列名值2...) ; 列名要一一对应 列的数据类型也要一一对应 列的顺序可以调整 如果插入的某列值为空,则默认给 null 值(...insert into 表名(要插入的列1,列2...) values(对应列的值...); 2,查询表中记录 select * from 表名; 查看表中指定列的数据 select 列名1,列名2...=不是标准的 SQL 语法,才是标准的不等于。 sql中要查询某个null值,要使用 is null ,而不是= null ;相反,要查询不为null,那么使用is not null ....by 将表中某列值相同的记录放在一起,称为一组。...4,更新表中记录 更新某条记录 update 表名 set 要更新的列名1=列的值1,要更新的列名2=列的值2 where 条件; 比如这样: update student set sname
为了创建保存自变量的矩阵,输入语句: X = dataset.iloc[:, :-1].values 第一个冒号表示提取数据集的全部行,「:-1」则表示提取除最后一列以外的所有列。...类就是我们希望为某目的所建立的模型。如果我们希望搭建一个棚子,那么搭建规划就是一个类。 对象是类的一个实例。在这个例子中,根据规划所搭建出来的一个棚子就是一个对象。...从你希望进行编码的某列数据入手,调用 label encoder 并拟合在你的数据上。...然后,将每一列分别以 0/1 填充(认为 1=Yes,0 = No)。这表明,如果原始列的值为猫,那么就会在麋鹿一列得到 0,狗一列得到 0,猫一列得到 1。 看上去非常复杂。...缩放特征将仍能够加速模型,因此,你可以在数据预处理中,加入特征缩放这一步。 特征缩放的方法有很多。但它们都意味着我们将所有的特征放在同一量纲上,进而没有一个会被另一个所主导。
如果M S S为2 5 6字节,则c w n d和s s t h re s h的初始值分别为2 5 6和6 5 5 3 5字节。...与图2 0 - 9类似,图2 1 - 1 0表示了c w n d和s s t h re s h的数值。第一列上的报文段编号与图 2 1 - 7对应。 ? ?...h的值则保持不变( 5 1 2),这是因为在此过程中没有出现过重传。...当下一个新的A C K到达(没有在图2 1 - 11中表示出来)时,c w n d大于s s t h re s h,取值为1 3 6 3。...在图2 1 - 1 0中的时刻1 4 . 3发生下一个重传,也是因为收到了 3个重复的A C K。因此当另一个A C K到达时,可以看到c w n d以同样的方式增长,之后降低到 1 0 2 4。
对表中的某个字段建立索引会创建另一种数据结构,其中保存着字段的值,每个值又指向与它相关的记录。这种索引的数据结构是经过排序的,因而可以对其执行二分查找。 索引的缺点是占用额外的磁盘空间。...即如果索引建立在多个列上,只有它的第一个列被where子句引用时,优化器才会使用该索引,即至少要包含组合索引的第一列 适合使用场景 适合与大量的增、删、改(OLTP) 不能用包含OR操作符的查询; 列基数...至少要包含组合索引的第一列(即如果索引建立在多个列上,只有它的第一个列被where子句引用时,优化器才会使用该索引) 8. 小表不要建立索引 9....如果经常在某表的一个字段进行Order By 则也应该建立索引。 ---- 索引失效的情况 1.使用不等于操作符(not 、、!=) oracle碰到not或者 !...因此建议开发人员在建表时,把需要索引的列设成 NOT NULL。 如果被索引的列在某些行中存在NULL值,就不会使用这个索引(除非索引是一个位图索引)。
组合索引:多个列上的索引,搜索条件必须使用到组合索引中的第一个列,才能利用到索引。 索引的排序方法: 索引默认是按照升序(ASC)进行排序的。但也可以在创建索引时明确指定排序方向。...age INT );` 确保某列的值不能为空。...3、PRIMARY KEY 约束 sql`ALTER TABLE students ADD PRIMARY KEY (id);` 确保某列的值是唯一的并且不为空。一个表只能有一个主键。...一个表的外键列的值必须引用另一个表的主键或唯一键的值。 示例:创建一个名为orders的表,其中的student_id列引用students表的id列。...示例:在students表中,确保age列的值大于等于18。
图1 TMDB 5000 Movie Dataset数据集 2.1 从一个简单的例子开始 首先在jupyter lab中读入tmdb_5000_movies.csv数据集并查看其前3行(图2): import...:0或1,0表示删除含有缺失值的行,1表示删除含有缺失值的列 下面是举例演示,首先我们创造一个包含缺失值的数据框: import numpy as np # 创造含有缺失值的示例数据 df = pd.DataFrame...: 图13 2.2.2 col_generation col_generation中包含了从原数据中产生新列的若干功能: AggByCols: 这个类用于将指定的函数作用到指定的列上以产生新结果(...: 图18 ApplyByCols: 这个类用于实现pandas中对列的apply操作,不同于AggByCols中函数直接处理的是列,ApplyByCols中函数直接处理的是对应列中的每个元素。...,决定是否在计算完成后把旧列删除,默认为True,即对应列的计算结果直接替换掉对应的旧列 下面我们以计算电影盈利率小于0,大于0小于100%以及大于100%作为三个分箱区间,首先我们用到上文介绍过的RowDrop
在本文中,我也附上数据集的前几行数据。 我们有了数据集,但需要创建一个矩阵来保存自变量,以及一个向量来保存因变量。...为了创建保存自变量的矩阵,输入语句: X = dataset.iloc[:, :-1].values 第一个冒号表示提取数据集的全部行,「:-1」则表示提取除最后一列以外的所有列。...类就是我们希望为某目的所建立的模型。如果我们希望搭建一个棚子,那么搭建规划就是一个类。 对象是类的一个实例。在这个例子中,根据规划所搭建出来的一个棚子就是一个对象。...这表明,如果原始列的值为猫,那么就会在麋鹿一列得到 0,狗一列得到 0,猫一列得到 1。 看上去非常复杂。输入 OneHotEncoder 吧! 导入编码器,并制定对应列的索引。...缩放特征将仍能够加速模型,因此,你可以在数据预处理中,加入特征缩放这一步。 特征缩放的方法有很多。但它们都意味着我们将所有的特征放在同一量纲上,进而没有一个会被另一个所主导。
为了创建保存自变量的矩阵,输入语句: X = dataset.iloc[:, :-1].values 第一个冒号表示提取数据集的全部行,「:-1」则表示提取除最后一列以外的所有列。...类就是我们希望为某目的所建立的模型。如果我们希望搭建一个棚子,那么搭建规划就是一个类。 对象是类的一个实例。在这个例子中,根据规划所搭建出来的一个棚子就是一个对象。...然后,将每一列分别以 0/1 填充(认为 1=Yes,0 = No)。这表明,如果原始列的值为猫,那么就会在麋鹿一列得到 0,狗一列得到 0,猫一列得到 1。 看上去非常复杂。...需要避免过拟合(可以认为,过拟合就像在一次测验前,记忆了许多细节,但没有理解其中的信息。如果只是记忆细节,那么当你自己在家复习知识卡片时,效果会很好,但在所有会考察新信息的真实测验中,都会不及格。)...缩放特征将仍能够加速模型,因此,你可以在数据预处理中,加入特征缩放这一步。 特征缩放的方法有很多。但它们都意味着我们将所有的特征放在同一量纲上,进而没有一个会被另一个所主导。
图1 TMDB 5000 Movie Dataset数据集 2.1 从一个简单的例子开始 首先在jupyter lab中读入tmdb_5000_movies.csv数据集并查看其前3行(图2): import...图13 2.2.2 col_generation col_generation中包含了从原数据中产生新列的若干功能: AggByCols: 这个类用于将指定的函数作用到指定的列上以产生新结果...(可以是新的列也可以是一个聚合值),即这时函数真正传入的最小计算对象是列,主要参数如下: columns:str或list,用于指定对哪些列进行计算 func:传入需要计算的函数 drop:bool...,计算得到的聚合值填充到新列的每一个位置上: ?...图18 ApplyByCols: 这个类用于实现pandas中对列的apply操作,不同于AggByCols中函数直接处理的是列,ApplyByCols中函数直接处理的是对应列中的每个元素。
在本文中,我也附上数据集的前几行数据。 ? 我们有了数据集,但需要创建一个矩阵来保存自变量,以及一个向量来保存因变量。...为了创建保存自变量的矩阵,输入语句: X = dataset.iloc[:, :-1].values 第一个冒号表示提取数据集的全部行,「:-1」则表示提取除最后一列以外的所有列。...类就是我们希望为某目的所建立的模型。如果我们希望搭建一个棚子,那么搭建规划就是一个类。 对象是类的一个实例。在这个例子中,根据规划所搭建出来的一个棚子就是一个对象。...这表明,如果原始列的值为猫,那么就会在麋鹿一列得到 0,狗一列得到 0,猫一列得到 1。 看上去非常复杂。输入 OneHotEncoder 吧! 导入编码器,并制定对应列的索引。...缩放特征将仍能够加速模型,因此,你可以在数据预处理中,加入特征缩放这一步。 特征缩放的方法有很多。但它们都意味着我们将所有的特征放在同一量纲上,进而没有一个会被另一个所主导。
类就是我们希望为某目的所建立的模型。如果我们希望搭建一个棚子,那么搭建规划就是一个类。 对象是类的一个实例。在这个例子中,根据规划所搭建出来的一个棚子就是一个对象。...从你希望进行编码的某列数据入手,调用label encoder并拟合在你的数据上。...然后,将每一列分别以 0/1 填充(认为 1=Yes,0 = No)。这表明,如果原始列的值为猫,那么就会在麋鹿一列得到 0,狗一列得到 0,猫一列得到 1。 看上去非常复杂。...需要避免过拟合(可以认为,过拟合就像在一次测验前,记忆了许多细节,但没有理解其中的信息。如果只是记忆细节,那么当你自己在家复习知识卡片时,效果会很好,但在所有会考察新信息的真实测验中,都会不及格。)...缩放特征将仍能够加速模型,因此,你可以在数据预处理中,加入特征缩放这一步。 特征缩放的方法有很多。但它们都意味着我们将所有的特征放在同一量纲上,进而没有一个会被另一个所主导。
另一个例子是分解关联查询,即对每个要关联的表进行单表查询,然后将结果在应用程序中进行关联。...例如,要找到某一列的最小值,只需要查询对应B-Tree索引的最左端的记录即可。类似的,如果要查询列中的最大值,也只需要读取B-Tree索引的最后一条记录。...优化关联查询,要确保ON或者USING子句中的列上有索引,并且在建立索引时需要考虑到关联的顺序。通常来说,只需要在关联顺序中的第二个表的相应列上创建索引。...优化COUNT()查询 COUNT()有两个不同的作用: 统计某个列值的数量,即统计某列值不为NULL的个数。 统计行数。...当使用COUNT(*)时,统计的是行数,它会忽略所有的列而直接统计所有的行数。而在括号中指定了一个列的话,则统计的是这个列上值不为NULL的个数。
替换密码 Substitution cipher 对数据中的每个字符用另一个字符进行替换。...替换密码依赖与固定的替换结构 对于字母表中的每一个字母的替换都是固定的 【注】 一次替换一个字符显然会在密文中留下太多的明文结构 如果已知明文的性质/结构,则可以通过统计攻击轻松破解任何替换密码...选择 值接近 0.065 的 值输出,这些 值很可能是密钥 。 对于每一个可能的 值,计算解密后的原文,看是否有实际意义,有则说明该 值即密钥,无则说明不是。...cipher 根据密钥中的元素,替换规则从一个字母位置到下一个字母位置会发生改变。...根据密钥字符对应的列,寻找密文字符,则密文字符在表格中对应的行索引字符即明文字符。 一次性密码本 OTP(One-time pad) OTP 是唯一一个达到完美加密的加密系统,无法被攻破。
查询缓存 在解析一个查询语句前,如果查询缓存是打开的,那么MySQL会检查这个查询语句是否命中查询缓存中的数据。如果当前查询恰好命中查询缓存,在检查一次用户权限后直接返回缓存中的结果。...在介绍B+Tree前,先了解一下二叉查找树,它是一种经典的数据结构,其左子树的值总是小于根的值,右子树的值总是大于根的值,如下图①。...如果要在这课树中查找值为5的记录,其大致流程:先找到根,其值为6,大于5,所以查找左子树,找到3,而5大于3,接着找3的右子树,总共找了3次。同样的方法,如果查找值为8的记录,也需要查找3次。...当表A和表B用列c关联的时候,如果优化器关联的顺序是A、B,那么就不需要在A表的对应列上创建索引。...再看内层的查询,很明显B.c上如果有索引的话,能够加速查询,因此只需要在关联顺序中的第二张表的相应列上创建索引即可。
,确保一个表的外键与另一个表的主键匹配。...,当插入新记录时,如果未提供该列的值,则使用默认值。...如果要插入表中的所有列,可以省略列名,但是需要确保VALUES子句中的值的顺序与表中的列的顺序相匹配。...如果要插入表中的所有列,可以简化为: INSERT INTO students VALUES (1, 'John', 'Doe', 20); Tip:实际的插入值的数据类型和顺序应该与表定义中的列相匹配...50), last_name VARCHAR(50), department VARCHAR(50), salary INT ); 如果你想检索工资大于等于50000的员工记录,
领取专属 10元无门槛券
手把手带您无忧上云