标签:Python与Excel,pandas 下面是一个应用场景: 我在保险行业工作,每天处理大量数据。有一次,我受命将多个Excel文件合并到一个“主电子表格”中。..._2与df_1合并基本上意味着我们将两个数据帧框架的所有数据合并在一起,使用一个公共的唯一键匹配df_2到df_1中的每条记录。...注意,在第一个Excel文件中,“保险ID”列包含保险编号,而在第二个Excel文件中,“ID”列包含保险编号,因此我们必须指定,对于左侧数据框架(df_1),希望使用“保险ID”列作为唯一键;而对于右侧的数据框架...(df_2),我们希望使用“ID”列作为唯一键。...df_1和df_2中的记录数相同,因此我们可以进行一对一的匹配,并将两个数据框架合并在一起。
处理关系数据有三类操作: 合并连接:向数据框中加入新变量,新变量的值是另一个数据框中的匹配观测。 筛选连接:根据是否匹配另一个数据框中的观测,筛选数据框中的观测。...例如,planes$tailnum 是一个主键,因为其可以唯一标识 planes 表中的每架飞机。 外键:唯一标识另一个数据表中的观测。...例如,flights$tailnum 是一个外键,因为其出现在 flights 表中,并可以将每次航班与唯一一架飞机匹配。 一个变量既可以是主键,也可以是外键。...,它先通过两个表格的键匹配观测,然后将一个表格中的变量复制到另一个表格中。...有颜色的列表示作为“键”的变量:它们用于在表间匹配行。灰色列表示“值”列,是与键对应的值。
IN 选择与值列表中的任何值匹配的数据。 BETWEEN 选择值范围内的数据。 LIKE 基于模式匹配过滤数据。 IS NULL 检查值是否为空。 第 3 节....左连接 从一个表中选择行,这些行在其他表中可能有也可能没有对应的行。 自连接 通过将表与自身进行比较来将表与其自身连接。 完全外连接 使用完全连接查找一个表中在另一个表中没有匹配行的行。...子查询 主题 描述 子查询 编写一个嵌套在另一个查询中的查询。 ANY 通过将某个值与子查询返回的一组值进行比较来检索数据。 ALL 通过将值与子查询返回的值列表进行比较来查询数据。...外键 展示如何在创建新表时定义外键约束或为现有表添加外键约束。 检查约束 添加逻辑以基于布尔表达式检查值。 唯一约束 确保一列或一组列中的值在整个表中是唯一的。...PostgreSQL Python 教程 此 PostgreSQL Python 部分向您展示,如何使用 Python 编程语言与 PostgreSQL 数据库进行交互。
(str) 用来计算在字符串中的有效Python表达式,并返回一个对象 tuple(s) 将序列s转换为一个元组 list(s) 将序列s转换为一个列表 chr(x) 将一个整数转换为一个字符 unichr...list.index(obj) 从列表中找出某个值第一个匹配项的索引位置,索引从0开始list.insert(index, obj) 将对象插入列表list.pop(obj=list[-1]) 移除列表中一个元素...(默认最后一个元素)并且返回该元素的值list.remove(obj) 移除列表中某个值的第一个匹配项list.reverse() 反向列表中元素,倒转list.sort([func]) 对原列表进行排序...两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。 字典是一种映射类型,字典用"{ }"标识,它是一个无序的键(key) : 值(value)对集合。...键(key)必须使用不可变类型。在同一个字典中,键(key)必须是唯一的。
NO ACTION 3.CASCADE 4.SET NULL RESTRICT 同no action, 都是立即检查外键约束 NO ACTION 如果子表中有匹配的记录,则不允许对父表对应候选键进行update...,如果被DEFAULT约束的位置没有值,那么这个位置将会被DEFAULT的值填充 九.表与表之间的关系 1.表关系分类: 总体可以分为三类: 一对一 、一对多(多对一) 、多对多 2.如何区分表与表之间是什么关系...分析:人和车辆分别单独建表,那么如何将两个表关联呢?有个巧妙的方法,在车辆的表中加个外键字段(人的编号)即可。 * (思路小结:’建两个表,一’方不动,’多’方添加一个外键字段)* ?...通过在从表的外键字段上添加唯一约束(unique)来实现一对一表关系. ?...,一辈子最多只能一个女主的名字.等等 3.多对多关系 例如:学生选课,一个学生可以选修多门课程,每门课程可供多个学生选择。
因此映射类型是键值对的集合,也存在无序性,通过键我们可以找出该键对应的值,换一个角度来讲,键代表着一个属性,值则代表着这个属性代表的内容。 第二部分:列表类型:定义、索引、切片。...Python包含以下函数: 序号 函数 1 len(list)列表元素个数 2 max(list)返回列表元素最大值 3 min(list)返回列表元素最小值 4 list(seq)将元组转换为列表...在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) 4 list.index(obj)从列表中找出某个值第一个匹配项的索引位置 5 list.insert(index, obj)将对象插入列表...6 list.pop([index=-1]])移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 7 list.remove(obj)移除列表中某个值的第一个匹配项 8 list.reverse...} 键必须是唯一的,但值则不必。
(obj) #从列表中找出某个值第一个匹配项的索引位置 list.insert(index, obj) #将对象插入列表 list.pop(obj=list[-1]) #移除列表中的一个元素(...默认最后一个元素),并且返回该元素的值 list.remove(obj) #移除列表中某个值的第一个匹配项 list.reverse() #反向列表中元素 list.sort([func...]) #对原列表进行排序 二、元组 元组(tuple)和列表(list)非常类似,但是元组一旦初始化就不能修改,且元组使用小括号而列表使用中括号。...三、字典 字典是另一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型 字典在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度 字典中键是唯一的,如果重复最后的一个键值对会替换前面的...#把字典dict2的键/值对更新到dict里 dict.values() #以列表返回字典中的所有值 四、集合 集合(set)是一个无序不重复元素的序列。
MySQL 可以运行于多个系统上,并且支持多种语言。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。...可以使用主键来查询数据 #外键:用于关联两个表 #复合键:将多个列作为一个索引键,一般用于符合索引 #索引:使用索引可快速访问数据库中的特定信息。...#值:行的具体信息,每个值必须与该列的数据类型相同 #键:键的值在当前列中具有唯一性 MySQL数据库的安装 #第一步:下载 下载地址:https://dev.mysql.com/downloads/...单列索引:一个索引只包含一个列,一个表可以有多个单列索引,但不是组合索引。...组合索引:一个索引包含多个列 注:创建索引时,要确保该索引时应用在SQL查询语句的条件(一般是where子句的条件) 索引的弊端:索引会降低更新表的速度,如对表进行INSERT、UPDATE、DELETE
5.查看唯一值 Excel中查看唯一值的方法是使用“条件格式”对唯一值进行颜色 标记。 ? Python中使用unique函数查看唯一值。...使用merge函数对两个数据表进行合并,合并的方式为inner,将 两个数据表中共有的数据匹配到一起生成新的数据表。并命名为 df_inner。...还可以对多个字段的值进行判断后对数据进行分组,下面的代码中对city列等于beijing并且price列大于等于4000的数据标记为1。...我们使用split函数对这个字段进行拆分,并将拆分后的数据表匹配回原数据表中。...#将完成分列后的数据表与原df_inner数据表进行匹配 df_inner=pd.merge(df_inner,split,right_index=True, left_index=Tru e) ?
驱动程序经过激活后与数据库服务器相连,然后将Python的函数调用转换为数据库查询,反过来,将数据库结果转换为Python数据结构。...当文档没有提供明确的唯一键时,就需要使用这两个属性值作为文档的唯一键。...如果指定了_id键,就是用该值作为唯一键: # 插入 person1 = {"name": "John", "dob": "2017-11-24"} person_id1 = people.insert_one...[ObjectId('5a1d4c832317d71c2c4e284f'), ObjectId('5a1d4c832317d71c2c4e2850')] 函数find_one()和find()分别给出匹配可选属性的一个或多个文档...函数sort()对查询的结果进行排序。当以无参数的方式调用它时,该函数按键_id的升序进行排序。
(错) 32、Python支持使用字典的“键”作为下标来访问字典中的值。(对) 33、列表可以作为字典的“键”。(错) 34、元组可以作为字典的“键”。(对) 35、字典的“键”必须是不可变的。...(对) 71、当以指定“键”为下标给字典对象赋值时,若该“键”存在则表示修改该“键”对应的“值”,若不存在则表示为字典对象添加一个新的“键-值对”。...(对) 130、如果定义类时没有编写析构函数,Python将提供一个默认的析构函数进行必要的资源清理工作。...(错) 205、调用函数时传递的实参个数必须与函数形参个数相等才行。(错) 206、正则表达式对象的match()方法可以在字符串的指定位置开始进行指定模式的匹配。...(对) 219、正则表达式元字符“^”一般用来表示从字符串开始处进行匹配,用在一对方括号中的时候则表示反向匹配,不匹配方括号中的字符。(对) 220、正则表达式元字符“\s”用来匹配任意空白字符。
NO ACTION 3.CASCADE 4.SET NULL RESTRICT 同no action, 都是立即检查外键约束 NO ACTION 如果子表中有匹配的记录,则不允许对父表对应候选键进行update...关键字: UNIQUE, 比较简单,它规定一张表中指定的一列的值必须不能有重复值,即这一列每个值都是唯一的。...,如果被DEFAULT约束的位置没有值,那么这个位置将会被DEFAULT的值填充 表与表之间的联系 1.表关系分类: 总体可以分为三类: 一对一 、一对多(多对一) 、多对多 2.如何区分表与表之间是什么关系...通过在从表的外键字段上添加唯一约束(unique)来实现一对一表关系....,一辈子最多只能一个女主的名字.等等 其他示例 3.多对多关系 例如:学生选课,一个学生可以选修多门课程,每门课程可供多个学生选择。
一、列属性1、 主键主键(primary key):又叫主键约束,是表中的一个或多个字段,它的值用于唯一标识表中的某一条记录。...如时间戳等主键应由计算机自动生成一般来说就是id,特殊情况除外2、 唯一键唯一键(unique key):又叫唯一约束,其保证在一个字段或一组字段里的数据与表中其他行的数据相比是唯一的。...1特点:一张表中可以存在多个唯一键唯一键所在列中的数据不能重复唯一键允许该列数据为null,并且可以存在多个(但是不提倡)与主键的区别:主键唯一,唯一键不唯一,主键不为null,唯一键可为null---...例子:select count(*),字段名 from 表名 group by age;123、连接查询3.1 外连接以某张表为主,取出里面的所有记录,然后每条与另外一张表进行连接,不管能不能匹配上条件...右外连接,以右表为主左表 right join 右表 on 左表.字段=右表.字段注意:限定条件使用on关键字123456783.2 内连接内连接[inner] join:从左表中取出每一条记录,去右表中与所有的记录进行匹配
FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。 CHECK - 保证列中的值符合指定的条件。对于MySQL数据库,对CHECK子句进行分析,但是忽略CHECK子句。...主键能够唯一的标识表中的每一条记录,可以结合外键,来定义与不同数据表之间的关系。 怎么理解主键呢?...外键用于关联其他表的主键或唯一键 案例: 对学生表进行数据插入: 注:当我们想删除父表时,则需要先删除 子表,再删除 父表。...一个表只能有一个主键索引,主键字段的值必须唯一且不能为空。 唯一索引(UNIQUE): 唯一索引确保索引列中的每个值都是唯一的,可以有多个唯一索引。...复合索引(COMPOSITE): 复合索引是一个索引包含多个列,用于加速基于多个列的查询操作。 注:主键,unique ,外键都会自动生成索引.
字典的键必须是唯一的,而值则可以是任何数据类型,包括数字、字符串、列表、元组甚至是另一个字典。这种灵活性使得字典成为处理复杂数据结构的强大工具。...本文将详细介绍Python中字典的定义、基本操作、嵌套字典、遍历方法、高级操作技巧等,并通过代码实例进行演示和分析。 一、 什么是 Python 字典?...与 Python 中的其他数据结构(如列表和元组)不同,字典的主要特点是: 键是唯一的:字典中的键不能重复,每个键都唯一地映射到一个值。...6.4 数据库记录映射 在数据库操作中,字典也被广泛用于将查询结果映射为 Python 对象。通常,每行记录可以表示为一个字典,其中列名作为键,列值作为字典的值。...7.2 哈希冲突与解决方案 由于哈希表的存储空间是有限的,不同的键在通过哈希函数计算后,可能会得到相同的哈希值,这种现象称为哈希冲突。Python 字典使用了开放寻址法来解决哈希冲突。
一对一其实就是 一对多 + 唯一索引 # 2.当两个类之间有继承关系时,默认会创建一个一对一字段...) 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都是报错 values(*field) 返回一个ValueQuerySet...) 与values()非常相似,返回一个元组序列,values返回一个字典序列 count() 返回数据库中匹配的记录的数量 first()...返回数据库中匹配的对象的第一个对象 last() 返回数据库中匹配的对象的最后一个对象 exists() 判断一个对象集合中是否包含指定对象...如果指定字段,每个字典将只包含指定的字段的键/值。如果没有指定字段,每个字典将包含数据库表中所有字段的键和值。
可以轻松表示每个键的多个值,例如学生成绩或联系信息。让我们看看它如何有效地存储和检索复杂数据。 语法 确保系统上安装了 Python 的简单性和可读性。...键是学生姓名,值是代表其成绩的元组。 算法 按照以下步骤创建元组字典: 声明一个空字典。 将键作为字典键添加,并将匹配值作为元组添加到每个键值对。 对每个键值对重复此步骤。...将所有键值对作为元组添加到字典后,元组字典就已生成。现在,它已准备好进行其他操作。为避免覆盖字典中的任何当前值,键必须是唯一的。...键表示书名,值是包含作者和出版年份的元组。您可以向字典添加新的键值对,如第 3 行所示。这个新添加的值可以使用索引和 get() 方法访问。...回顾一下,构造一个字典并用元组填充它,使用 Python 的基本数据结构语法。为字典中的每个元组指定键和值是构建元组字典的算法的一部分。这种适应性强的数据结构可以快速组织和检索信息。
用来限制某个字段/某列的值不能重复 同一个表可以有多个唯一约束 唯一约束可以是某一个列的值唯一,也可以多个列组合的值唯一。...从表”中指定外键约束,并且一个表可以建立多个外键约束 当创建外键约束时,系统默认会在所在的列上建立对应的普通索引,索引名是外键的约束名,删除外键约束后,必须手动删除对应的索引 CREATE TABLE...update/delete记录时,同步update/delete掉子表的匹配记录 Set null方式:在父表上update/delete记录时,将子表上匹配记录的列设为null,但是要注意子表的外键列不能为...not null No action方式:如果子表中有匹配的记录,则不允许对父表对应候选键进行update/delete操作 Restrict方式:同no action, 都是立即检查外键约束(如果没有指定等级...Set default方式:父表有变更时,子表将外键列设置成一个默认的值,但Innodb不能识别 6、默认值约束 给某个字段/某列指定默认值,一旦设置默认值,在插入数据时,如果此字段没有显式赋值,则赋值为默
在一个特定的集合,不应该拥有两个以上的索引 复合索引 索引的值是按照一定顺序排列的,因此,使用索引键对文档进行排序非常快。然而,只有在首先使用索引键进行排序时,索引才有用。...如果对查询结果的范围做了限制,那么mongo在几次匹配之后就可以不在扫描索引,在这种情况下,将排序键放在第一位时一个和好的策略。...设计多个字段的索引时,应该将会用于精确匹配的字段防到索引的前面,将用于范围匹配的字段放到最后 索引对象和数组 mongo允许对嵌套字段和数组建立索引,嵌套对象和数组字段可以与符合索引中顶级字段一起使用...,那么这个索引就会呗还标记为多键索引,多键索引可能会比非多键索引慢一些,可能会友多个索引条目指向同一个文档,因此在返回结果时必须要先去除重复的内容 索引基数 基数就是集合中某个字段拥有不同值的数量,一般来说...{ "unique":true } ) 复合唯一索引 创建符合唯一索引时,单个键的值可以相同,但所有键的组合值必须时唯一的 去除重复 在已有的集合创建唯一索引时可能会失败,因为集合中肯能已经存在重复值了
(“”)指定要验证所有索引;第二个参数(1)指定应该纠正索引差异;第三个参数(2)指定对整个表进行独占锁定;第四个参数(1)指定使用多个进程(如果可用)来执行验证。...对于ID键、主键或唯一索引,indexnameOpen()方法(其中indexname是索引的名称)允许打开其索引属性值与提供的一个或多个值匹配的对象。...该方法的第二个参数指定并发值,此处为2(共享)。第三个参数包含一个可选的%Status代码;如果该方法没有找到与提供的值匹配的对象,则会向状态参数sc写入一条错误消息。...该方法有一个与索引中的每个属性相对应的参数;如果对象的ID与提供的值匹配,则它的最后一个可选参数可以接收该对象的ID。该方法返回一个布尔值,表示成功(1)或失败(0)。...删除实例 IndexnameDelete()方法(其中indexname是索引的名称)用于唯一、PrimaryKey和/或IdKey索引;它删除键值与提供的键属性/列值匹配的实例。
领取专属 10元无门槛券
手把手带您无忧上云