一、前言 前几天在Python最强王者群【wen】问了一个pandas数据处理的问题,一起来看看吧。...二、实现过程 这里【隔壁山楂】给了一个提示,如下所示: 直接使用内置函数abs()取绝对值就阔以了,轻轻松松,顺利地解决了粉丝的问题! 三、总结 大家好,我是皮皮。...这篇文章主要盘点了一个Pandas数据处理问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。...最后感谢粉丝【wen】提问,感谢【隔壁山楂】给出的思路和代码解析,感谢【莫生气】等人参与学习交流。
操作数据帧可能很快会成为一项复杂的任务,因此在Pandas中的八种技术中均提供了说明,可视化,代码和技巧来记住如何做。 ?...记住:合并数据帧就像在水平行驶时合并车道一样。想象一下,每一列都是高速公路上的一条车道。为了合并,它们必须水平合并。...“inner”:仅包含元件的键是存在于两个数据帧键(交集)。默认合并。 记住:如果您使用过SQL,则单词“ join”应立即与按列添加相联系。...尽管可以通过将axis参数设置为1来使用concat进行列式联接,但是使用联接 会更容易。 请注意,concat是pandas函数,而不是DataFrame之一。...串联是将附加元素附加到现有主体上,而不是添加新信息(就像逐列联接一样)。由于每个索引/行都是一个单独的项目,因此串联将其他项目添加到DataFrame中,这可以看作是行的列表。
A:从web浏览器剪切过来的查询有时包含了外观像空格,但在SQL里有其他含义的隐形字符。你可以把查询粘贴到文本编辑器中,如此一来,就可以仔细寻找并移除这些小麻烦。...创建表后你就无法真正的改变列的顺序了。最多只能在指定位置添加新列,然后删除旧列,但是这样会失去旧列中的所有数据。 如果我已经创建了主键,然后又意外的想改用另一列呢?...第二范式(2NF) 符合1NF 没有部分函数依赖性 函数依赖性 当某列的数据必须随着另一列的数据改变而改变时,表示第一列函数依赖与第二列。...内联接 INNER JOIN利用条件判断中的比较运算符结合两张表的记录。只有联接记录符合记录条件时才会返回列。...A:大多数情况下,内层查询只能返回单一值,也就是一列里的一行。而后,外层查询才能利用这个值与列中其他值进行比较。 一般而言,子查询必须返回一个值,使用IN是例外情况。
而在pandas中,我们可以通过将列名列表传递给DataFrame来完成列选择 ?...在SQL中,进行选择的同时还可以进行计算,比如添加一列 SELECT *, tip/total_bill as tip_rate FROM tips LIMIT 5; ?...注意,在上面代码中,我们使用size()而不是count() 这是因为count()将函数应用于每一列,并返回每一列中非空记录的数量!...现在让我们重新创建两组示例数据,分别用代码来演示不同的连接 df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], ....:...pd.DataFrame({'key': ['B', 'D', 'D', 'E'], ....: 'value': np.random.randn(4)}) 内连接 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行
可以在一个列或一组列上创建索引。 18.所有不同类型的索引是什么? 索引有三种类型 1.唯一索引:唯一索引通过确保表中没有两行数据具有相同的键值来帮助维护数据完整性。...联接的类型如下: 内部联接 左联接 正确加入 外连接 35.内部联接和外部联接之间有什么区别? 内部联接:当正在比较的两个(或多个)表之间至少有一些匹配数据时,内部联接将返回行。...外部联接:外部联接从两个表返回行,这些行包括与一个或两个表不匹配的记录。 36.什么是SQL约束? SQL约束是在数据库中插入,删除或更新数据时实施一些约束的一组规则。 37....用字段NULL值是没有值的字段。NULL值不能与其他NULL值进行比较。 因此,不可能使用比较运算符(例如=,)测试NULL值。...在SQL Server中,数据库表中的每一列都有一个名称和一种数据类型。 在创建SQL表时,我们需要决定在表的每一列中存储哪种数据类型。 57.可以在BOOLEAN数据字段中存储哪些可能的值?
文章目录 内连接 inner join 左外连接 left join 右外连接 right join 左连接 右连接 全连接 差集 SQL Join联接子句用于在两个或更多在数据库中的表的记录组合...JOIN是通过使用从两个表字段共通的值组合连接起来。MySQL官方只提供了三种join方式,内连接、左连接和右连接,不支持其他的连接关键字。但是可以通过一定的语法将达到其他的连接的效果。...内连接 inner join 最频繁使用的和重要的联接是INNER JOIN。它也被称为一个等值连接。 INNER JOIN通过结合基于联接谓词两个表(表1和表2)列值创建一个新的结果表。...查询比较表1中的每一行与表2中的每一行,找到所有满足联接谓词的行。 当联接谓词被满足时,对于每个匹配的一对A和B的列值被组合成一个结果行。...这意味着,如果在ON子句在右边的表匹配0(零)个记录,则连接将仍然在结果返回一行,但用NULL显示在右表中的每一列中。
SQL Join 连接子句用于在两个或更多在数据库中的表的记录组合。JOIN是通过使用从两个表字段共同的值组合连接起来。...MySQL官方只提供了三种join方式,内连接、左连接和右连接,不支持其他的连接关键字。但是可以通过一定的语法将达到其他的连接的效果。...INNER JOIN通过结合基于联接谓词两个表(表1和表2)列值创建一个新的结果表。查询比较表1中的每一行与表2中的每一行,找到所有满足联接谓词的行。...这意味着,如果在ON子句在右边的表匹配0(零)个记录,则连接将仍然在结果返回一行,但用NULL显示在右表中的每一列中。...这意味着,如果ON子句匹配左表0(零)记录, 连接仍返回一行结果,但用NULL代替左表中的每一列。
别名在子查询及联接查询中的应用有着很好效果,当两张表有相同列名或者为了加强可读性,给表加上不同的别名,就能很好的区分哪些列属于哪张表。...还有种情况就是在子查询或联接查询时,主查询及子查询均为对同一张表进行操作,为主、子查询中的表加上不同的别名能够很好的区分哪些列的操作是在主查询中进行的,哪些列的操作是在子查询中进行的,下文会有实例说明。...在子查询或相关查询中,要求出某个列的最大值,通常都是用ALL来比较,大意为比其他行都要大的值即为最大值。...通过上面两例,应该可以明白子查询在WHERE中嵌套的作用。通过子查询中返回的列值来作为比较对象,在WHERE中运用不同的比较运算符来对其进行比较,从而得到结果。...组合查询: 通过UNION运算符来将两张表纵向联接,基本方式为: SELECT 列1 , 列2 FROM 表1 UNION SELECT 列3 , 列4 FROM 表2; UNION ALL为保留重复行
这将返回一个表,其中包含有关数据帧的汇总统计信息,例如平均值、最大值和最小值。在表的顶部是一个名为counts的行。在下面的示例中,我们可以看到数据帧中的每个特性都有不同的计数。...条形图 条形图提供了一个简单的绘图,其中每个条形图表示数据帧中的一列。条形图的高度表示该列的完整程度,即存在多少个非空值。...如果在零级将多个列组合在一起,则其中一列中是否存在空值与其他列中是否存在空值直接相关。树中的列越分离,列之间关联null值的可能性就越小。...树状图可通过以下方式生成: msno.dendrogram(df) 在上面的树状图中,我们可以看到我们有两个不同的组。第一个是在右侧(DTS、RSHA和DCAL),它们都具有高度的空值。...这可以通过使用missingno库和一系列可视化来实现,以了解有多少缺失数据存在、发生在哪里,以及不同数据列之间缺失值的发生是如何关联的。
子查询的例子可以参考笔试题中的例子,SQL笔试50题(上),SQL笔试50题(下) 4.9 联接 join 通过联接,可以从两个或多个表中根据各个表之间的逻辑关系来检索数据。...联接条件可通过以下方式定义两个表在查询中的关联方式: 指定每个表中要用于联接的列。典型的联接条件在一个表中指定一个外键,而在另一个表中指定与其关联的键。...WHERE 子句中可能指定的其他任何搜索条件分开,建议用这种方法来指定联接。...(两个查询结果的并集然后去重后的结果,A∪B) 使用 EXCEPT 或 INTERSECT 比较的结果集必须具有相同的结构。它们的列数必须相同,并且相应的结果集列的数据类型必须兼容。...与派生表的不同之处在于,CTE 可自引用,还可在同一查询中引用多次。 CTE 可用于: 创建递归查询。 在不需要常规使用视图时替换视图,也就是说,不必将定义存储在元数据中。
3、第三层是存储引擎 存储引擎负责在MySQL中存储数据、提取数据、开启一个事务等等。存储引擎通过API与上层进行通信,这些API屏蔽了不同存储引擎之间的差异,使得这些差异对上层查询过程透明。...5、 AUTO_INCREMENT MyISAM:可以和其他字段一起建立联合索引。引擎的自动增长列必须是索引,如果是组合索引,自动增长可以不是第一列,他可以根据前面几列进行排序后递增。...InnoDB:InnoDB中必须包含只有该字段的索引。引擎的自动增长列必须是索引,如果是组合索引也必须是组合索引的第一列。...它用在一个索引的所有部分被联接使用并且索引是UNIQUE或PRIMARY KEY。eq_ref可以用于使用= 操作符比较的带索引的列。比较值可以为常量或一个使用在该表前面所读取的表的列的表达式。...通过根据联接类型浏览所有行并为所有匹配WHERE子句的行保存排序关键字和行的指针来完成排序。然后关键字被排序,并按排序顺序检索行。
--Chapter 3 使用联接和子查询来查询数据 --内容提要 go /* (一)、使用联接查询数据 1. 内联接 2. 外联接 3. 交叉联接 4....等值联接 5. 自联接 */ go /* (二)、使用子查询查询数据 1. 使用比较运算符,IN和EXISTS关键字 2. 使用修改过的比较运算符 3....交叉联接(Cross Join) Product运算,将一个表中的每一行与另一个表中的 -------------------- create table Course --创建Course表,里面包含一列...交集,并集,差集 --操作两个select语句查询的结果 /* 前提条件 (1)两个结果集的列的数量和顺序要一致 (2)所有查询中的列的数据类型必须兼容 如char(10)和varchar...临时结果集 - 将一个查询结果在执行的时候临时存储,用于执行其他查询 --不保存在数据库中,只有在执行的时候存在,语句执行完之后不存在 --问题:查询工资最高的10位员工的平均工资 WITH RateCTE
代码大概200行左右 本系列,几乎都是代码,记得当时写的时候用的是微软的官方实例数据库AdventureWorks_Data.mdf、AdventureWorks_Log.ldf来运行的。...内联接 INNTER JOIN- 显示满足公共列中联接条件的行 inner可加可不加 --问题:查询有考试成绩的学生的学号,姓名,RDBMS成绩和Math成绩 -----练习:已知 select...外联接 - 显示包含一个表中的所有行以及另外一个表中匹配行的结果集,不匹配的用NULL值填充 --(1)左外联接 - 返回LEFT OUTER JOIN 左侧的表的所有行,以及右侧指定的表的匹配行,若右边找不到匹配项...,返回两个表中所有匹配的行和不匹配的行,匹配记录只显示一次 --3....里面包含一列CourseName (CourseName varchar(10)) insert into Course values --向Course表中插入两行记录 ('English'),
连接类型的选择: 不同类型的联接(如内连接、外连接)具有不同的计算成本。 选择不合适的联接类型可能导致性能下降,因为某些类型的联接可能比其他类型更昂贵。...适用于需要比较同一表中不同行之间的关系的场景,例如查找同一表中的相关记录。 使用合适的连接条件: 确保联接条件是准确的,以避免不必要的数据匹配。 使用索引加速联接条件的匹配,提高查询性能。...对于某些查询,使用覆盖索引可以避免额外的数据访问,提高性能。 避免过度索引: 避免在每一列上都创建索引,因为这可能会增加维护成本,降低写操作的性能。 仅为那些经常用于查询条件的列创建索引。...这可以通过垂直分割(将列拆分为不同的表)或水平分割(将行拆分为不同的表)来实现。 使用规范化: 使用规范化设计数据库,以减少数据冗余。...,用于捕获和分析SQL Server中执行的查询和其他数据库操作。
如何管理数据关系? 创建计算列 隐藏字段 创建度量值 创建表计算 浏览基于时间的数据 项目案例 这是一家咖啡店的数据,Excel里有两个表,分别是销售数据表、产品表。...根据需要联接(内部 左侧 右侧 完全外部)所需工作表,联接成功后,会显示出所联接的表及其列之间的关系,一般Tableau会自动识别相同字段进行连接(如下图): image.png 如果要添加新的联接子句...如果要删除关系也非常简单,右键单击该关系,选择“X”图标的地方删除: 3.创建计算列? 在实际工作表中,有时候我们需要新增一列数据,那么在Tableau中如何新增列呢?...选择工作表,点击某列倒三角,创建计算字段: image.png 根据需要,按下图在小方框里写新建列名称:年,然后填写公式:YEAR([订单日期]) 这样,就给销售数据表增加了一列“年”,公式YEAR...例如,销售数据表中的“订单日期”是以天为单位,在做图时会自动汇总成一年 用“订单日期”为横轴,“数量”为纵轴生成的条形图,这个图可以很清楚的看到不同时间维度下咖啡的订单销量是多少,如年维度 image.png
什么是SQL中的连接? JOIN子句用于根据两个或多个表之间的相关列来组合它们。它用于合并两个表或从中检索数据。...主键 是一列(或列的集合)或一组列的唯一标识表中的每一行。 唯一标识表中的一行 不允许为空值 示例-在学生表中,Stu_ID是主键。 Q8。 什么是约束?...唯一标识表中的一行。 每个表允许多个值。 允许为空值。 Q11。什么是外键? 外键通过强制两个表中的数据之间的链接来维护引用完整性。 子表中的外键引用父表中的主键。...交叉联接产生两个表的叉积或笛卡尔积,而自然联接基于两个表中具有相同名称和数据类型的所有列。 Q28。什么是SQL中的子查询? 子查询是另一个查询中的查询,其中定义了查询以从数据库中检索数据或信息。...插入数据时如何在列中插入NULL值? 可以通过以下方式插入NULL值: 隐式地通过从列列表中省略列。 通过在VALUES子句中指定NULL关键字来显式 Q36。”
MySQL本身的功能架构分为三个部分,分别是 应用层、逻辑层、物理层,不只是MySQL ,其他大多数数据库产品都是按这种架构来进行划分的。...应用层,主要负责与客户端进行交互,建立链接,记住链接状态,返回数据,响应请求,这一层是和客户端打交道的。 逻辑层,主要负责查询处理、事务管理等其他数据库功能处理,以查询为例。...计划执行器需要访问更底层的事务管理器,存储管理器来操作数据,他们各自的分工各有不同,最终通过调用物理层的文件获取到查询结构信息,将最终结果响应给应用层。...理解每一列的含义,对理解执行计划至关重要,下面用一个表格的形式进行说明。...Using index:从只使用索引树中的信息而不需要进一步搜索读取实际的行来检索表中的列信息。
合并查询是根据一列或多列作为匹配列,将两个表左右联接在一起。有如下几种联接种类:用图形表示依次是:其中最常用的是左外部,类似于Excel的VLOOKUP功能,通过匹配列将右表的列添加到左表中。...其余几种,可在了解左外部联接后,进一步理解。举例有如下一张维度表,其中的列是店铺和品类,现需用店铺&品规合并为一列作为Key和事实表建立关系。...因此,需要把品类扩展到品规,按照产品表中的品类与品规对应关系将品类展开。店铺表产品表处理后的结果,在店铺和品类的基础上,品类被扩展到了品规。...STEP 2 在跳出的合并查询窗口,选择产品表(支持选择当前表,自己匹配自己),匹配列是品类(如果匹配列是多列,可以按住Ctrl键按照次序选择多列),联接种类选择左外部。...STEP 3 点击确定后,产品表会作为一列出现在店铺表中,点击这一列标题右侧的展开按钮,把需要展开的字段选中,去掉使用原始列名作为前缀的挑勾以保持列名的简洁性,点击确定。
如何管理数据关系? 创建计算列 隐藏字段 创建度量值 创建表计算 浏览基于时间的数据 项目案例 这是一家咖啡店的数据,Excel里有两个表,分别是销售数据表、产品表。...根据需要联接(内部 左侧 右侧 完全外部)所需工作表,联接成功后,会显示出所联接的表及其列之间的关系,一般Tableau会自动识别相同字段进行连接(如下图): 如果要添加新的联接子句,就选择要连接的字段...如果要删除关系也非常简单,右键单击该关系,选择“X”图标的地方删除: 3.创建计算列? 在实际工作表中,有时候我们需要新增一列数据,那么在Tableau中如何新增列呢?...例如,销售数据表中的“订单日期”是以天为单位,在做图时会自动汇总成一年 用“订单日期”为横轴,“数量”为纵轴生成的条形图,这个图可以很清楚的看到不同时间维度下咖啡的订单销量是多少,如年维度 同样的,...8.总结 通过案例,我们学会了Tableau的以下知识点: 1)如何管理数据关系 2)创建计算列 3)如何隐藏列 4)创建度量值 5)创建计算表 6)浏览基于时间的数据 上面内容来自“猴子数据分析”学员分享的经验
当基于多个数据集之间比较数据时,标准做法是使用(.shape)属性检查每个数据帧中的行数和列数。如图所示: ? 注意:左边是行数,右边是列数;(行、列)。...我们这份数据的第一个问题是 ACT 2017 和 ACT 2018 数据集的维度不一致。让我们使用( .head() )来更好地查看数据,通过 Pandas 库展示了每一列的前五行,前五个标签值。...为了比较州与州之间 SAT 和 ACT 数据,我们需要确保每个州在每个数据帧中都被平等地表示。这是一次创新的机会来考虑如何在数据帧之间检索 “State” 列值、比较这些值并显示结果。...我的方法如下图展示: ? 函数 compare_values() 从两个不同的数据帧中获取一列,临时存储这些值,并显示仅出现在其中一个数据集中的任何值。...让我们使用脱敏技术来检查 ‘Washington, D.C.’ 和 ‘District of Columbia’ 哪些值出现在 ACT 2017 的‘State’ 一列中: ?
领取专属 10元无门槛券
手把手带您无忧上云