图解数据分析:从入门到精通系列教程数据科学工具库速查表 | Pandas 速查表 1.读取数据我们经常要从外部源读取数据,基于不同的源数据格式,我们可以使用对应的 read_*功能:read_csv:我们读取...图片 5.处理重复我们手上的数据集很可能存在重复记录,某些数据意外两次输入到数据源中,清洗数据时删除重复项很重要。...以下函数很常用:duplicated: 识别DataFrame中是否有重复,可以指定使用哪些列来标识重复项。drop_duplicates:从 DataFrame 中删除重复项。...一般建议大家先使用 duplicated检查重复项,确定业务上需要删除重复项,再使用这个函数。图片 6.处理缺失值现实数据集中基本都会存在缺失值的情况,下面这些函数常被用作检查和处理缺失值。...注意:重要参数index(唯一标识符), columns(列成为值列),和 values(具有值的列)。
第3行和第4行包含相同的用户名,但国家和城市不同。 删除重复值 根据你试图实现的目标,我们可以使用不同的方法删除重复项。最常见的两种情况是:从整个表中删除重复项或从列中查找唯一值。...我们将了解如何使用不同的技术处理这两种情况。 从整个表中删除重复项 Python提供了一个方法.drop_duplicates()可以帮助我们轻松删除重复项!...图3 在上面的代码中,我们选择不传递任何参数,这意味着我们检查所有列是否存在重复项。唯一完全重复的记录是记录#5,它被丢弃了。因此,保留了第一个重复的值。...图4 这一次,我们输入了一个列名“用户姓名”,并告诉pandas保留最后一个的重复值。现在pandas将在“用户姓名”列中检查重复项,并相应地删除它们。...我们的列(或pandas Series)包含两个重复值,”Mary Jane”和”Jean Grey”。通过将该列转换为一个集,我们可以有效地删除重复项!
在本文中,我将分享一些Python函数,它们可以帮助我们进行数据清理,特别是在以下方面: 删除未使用的列 删除重复项 数据映射 处理空数据 入门 我们将在这个项目中使用pandas,让我们安装包。...删除重复项 让我们使用此函数检查此数据集中的重复项。 df[df.duplicated(keep=False)] ? keep允许一些参数检查重复项。...first:除第一次出现外,将重复项标记为True。 last:将重复项标记为True,但最后一次出现的情况除外。 False:将所有副本标记为True。...在本例中,我希望显示所有的重复项,因此传递False作为参数。现在我们已经看到这个数据集中存在重复项,我想删除它们并保留第一个出现项。下面的函数用于保留第一个引用。...df = df.drop_duplicates(keep="first") 我们可以使用len(df)或df[df.duplicated(keep=False)]检查是否删除了重复项。
安装 pandas 的开发版本 安装开发版本是最快的方式: 尝试一个将在下一个版本中发布的新功能(即,最近合并到主分支的拉取请求中的功能)。 检查您遇到的错误是否自上次发布以来已修复。...pandas 非常适合许多不同类型的数据: 具有异构类型列的表格数据,如 SQL 表或 Excel 电子表格 有序和无序(不一定是固定频率)的时间序列数据 具有行和列标签的任意矩阵数据(同质或异质类型)...数据结构中的不规则、具有不同索引的数据轻松转换为 DataFrame 对象变得容易 对大型数据集进行智能基于标签的切片、高级索引和子集操作 直观的合并和连接数据集 灵活的数据集重塑和透视 轴的分层标签...选择括号内的条件titanic["Age"] > 35检查Age列的值是否大于 35 的行: In [14]: titanic["Age"] > 35 Out[14]: 0 False 1...要基于此类函数过滤行,请在选择括号[]内使用条件函数。在这种情况下,选择括号内条件titanic["Pclass"].isin([2, 3])检查Pclass列数值为 2 或 3 的行。
通过dropna方法可以删除具有缺失值的行。...duplicates方法返回一个布尔值的 series ,反映每一行是否与之前的行重复。...默认为 None,表示检查所有列。 keep:可选参数,指定如何处理重复值。可选值为 ‘first’、‘last’ 和 False。...# 除第一个重复项外,其他重复项均标记为True df2.duplicated('style') Pandas 通过drop_duplicates删除重复的行,格式为: DataFrame.drop_duplicates...默认为 None,表示检查所有列。 keep:可选参数,指定如何处理重复值。可选值为 ‘first’、‘last’ 和 False。
pandas 会缓存此结果,因此在相同的索引上重新检查非常快。 Index.duplicated()将返回一个布尔数组,指示标签是否重复。...例如,我们将通过取具有相同标签的所有行的平均值来解决重复项。...pandas 会缓存此结果,因此在相同的索引上重新检查非常快。 Index.duplicated()会返回一个布尔型 ndarray,指示标签是否重复。...例如,我们将通过取具有相同标签的所有行的平均值来解决重复项。...所有其他比较,特别是两个具有不同类别或一个具有任何类列表对象的分类的“非相等”比较,都会引发TypeError。
BASE_SALARY'].copy() salary1 is salary2 Out[24]: False # 对其中一个做索引排序,比较二者是否不同 In[25]: salary1...193.0 castrja01 243.0 congeha01 46.0 Name: H, dtype: float64 # 检查结果中是否有缺失值...# 再从baseball_15中选取一些列,有相同的、也有不同的 In[45]: df_15 = baseball_15[['AB', 'R', 'H', 'HR']] df_15....从不同的DataFrame追加列 # 读取employee数据,选取'DEPARTMENT', 'BASE_SALARY'这两列 In[48]: employee = pd.read_csv('data...# random_salary中是有重复索引的,employee DataFrame的标签要对应random_salary中的多个标签 In[57]: employee['RANDOM_SALARY'
DataFrame.duplicated(subset=None, keep='first') subset:表示识别重复项的列索引或列索引序列,默认标识所有的列索引。...keep:表示采用哪种方式保留重复项,该参数可以取值为’first’(默认值)、 'last '和 ‘False’,其中’first’代表删除重复项,仅保留第一次出现的数据项;'last '代表删除重复项...,仅保留最后一次出现的数据项;'False’表示所有相同的数据都被标记为重复项。...,该参数可以取值为’first’(默认值)、 'last ‘和’False’,其中’first’代表删除重复项,仅保留第一次出现的数据项;'last '代表删除重复项,仅保留最后一次出现的数据项;'False...# 重塑df,使之具有两层行索引 # 原来的列数据one, two, three就到了行上来了,形成多层索引。
对象 np.object O和object 通常为字符串,但是对于具有多种不同类型的列或其他 Python 对象(元组,列表,字典等)来说是万能的。...第二个操作实际上是检查数据帧是否具有相同标签的索引,以及是否具有相同数量的元素。 如果不是这种情况,操作将失败。 有关更多信息,请参见第 6 章,“索引对齐”中的“生成笛卡尔积”秘籍。...我记得axis参数的含义,认为 1 看起来像一列,对axis=1的任何操作都会返回一个新的数据列(与该列具有相同数量的项)。...对象数据类型的列(例如INSTNM)与其他 pandas 数据类型不同。 对于所有其他 Pandas 数据类型,该列中的每个值都是相同的数据类型。...在分析期间,可能首先需要找到一个数据组,该数据组在单个列中包含最高的n值,然后从该子集中找到最低的m基于不同列的值。
Pandas 是基于NumPy的一种工具,该工具是为解决数据分析任务而创建的。它提供了大量能使我们快速便捷地处理数据的函数和方法。...df.sample(3) 输出: 如果要检查数据中各列的数据类型,可以使用.dtypes;如果想要值查看所有的列名,可以使用.columns。...缺失值与重复值 Pandas清洗数据时,判断缺失值一般采用isnull()方法。...df.fillna(50) 输出: Pandas清洗数据时,判断重复值一般采用duplicated()方法。如果想要直接删除重复值,可以使用drop_duplicates() 方法。...df.query("语文 > 英语") 输出: select_dtypes()方法可用于筛选某些数据类型的变量或列。举例,我们仅选择具有数据类型'int64'的列。
凭借其广泛的功能,Pandas 对于数据清理、预处理、整理和探索性数据分析等活动具有很大的价值。 Pandas的核心数据结构是Series和DataFrame。...Pandas与其他流行的Python库(如NumPy、Matplotlib和scikit-learn)快速集成。 这种集成促进了数据操作、分析和可视化的工作流程。...# 检查重复行 df.duplicated() # 删除重复行 df.drop_duplicates() # 计算z分数 z_scores = (df - df.mean()) / df.std...中,你可以使用各种函数基于公共列或索引来连接或组合多个DataFrame。...它提供了将数据导出为不同格式的各种功能。
将数据分组到通用篮子中 聚合具有相似特征的数据 应用函数计算含义或执行转换 查询和切片来探索整体 重组为其他形式 为不同类型的数据建模,例如类别,连续,离散和时间序列 将数据重新采样到不同的频率 存在许多数据处理工具...人们常说,如果其他研究人员无法复制您的实验和结果,那么您就不会证明任何事情。 幸运的是,对于您来说,通过使用 Pandas 和 Python,您将可以轻松地使分析具有可重复性。...以下通知 Pandas 将Date列的内容转换为实际的TimeStamp对象: 如果我们检查它是否有效,我们会看到日期为Timestamp: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传...由于存在多个维度,因此应用这些维度的过程略有不同。 我们将通过首先学习选择列,然后选择行,在单个语句中选择行和列的组合以及使用布尔选择来检查这些内容。...这些示例与Series的示例相似,但是证明,由于DataFrame具有列和关联的列索引,因此语法与Series有所不同。
.iloc[] 查找基于基于0的位置,而不是基于索引标签。 .ix[] 混合,当给出整数时将尝试基于0的查找; 其他类型是基于标签的。 将不建议使用此属性,因此请保留其他三个属性。...这只是处理自动收集的数据的现实,甚至是手动收集数据时创建的情况。 在这些情况下,通常认为最好是在具有重复项而不是缺失数据的方面出错,特别是如果可以认为数据是等幂的。...请注意,删除重复项时会保留索引。 重复记录可能具有不同的索引标签(在计算重复项时不考虑标签)。 因此,保留的行会影响结果DataFrame对象中的标签集。 默认操作是保留重复项的第一行。.../apachecn/apachecn-ds-zh/-/raw/master/docs/learning-pandas-2e/img/00492.jpeg)] 如果要基于较小的列集检查重复项,则可以指定列名列表...用其他值(甚至另一种类型的数据)明确替换某些值 应用方法来基于算法转换值 只需删除多余的列和行 我们已经了解了如何使用几种技术删除行和列,因此在此不再赘述。
需要说明的是,在分析演变规律、样本不均衡处理、业务规则等场景中,重复值具有一定的使用价值,需做保留。...how:表示删除缺失值的方式。 thresh:表示保留至少有N个非NaN值的行或列。 subset:表示删除指定列的缺失值。 inplace:表示是否操作原数据。...DataFrame.duplicated(subset=None, keep='first') subset:表示识别重复项的列索引或列索引序列,默认标识所有的列索引。...keep:表示采用哪种方式保留重复项,该参数可以取值为’first’(默认值)、 'last '和 ‘False’,其中’first’代表删除重复项,仅保留第一次出现的数据项;'last '代表删除重复项...,仅保留最后一次出现的数据项;'False’表示所有相同的数据都被标记为重复项。
对此,有两个术语会经常用到:记录连接和模糊匹配,例如,尝试把基于人名把不同数据文件连接在一起,或合并只有组织名称和地址的数据等,都是利用“记录链接”和“模糊匹配”完成的。...在本文中,我们将学习如何使用这两个工具(或者两个库)来匹配两个不同的数据集,也就是基于名称和地址信息的数据集。此外,我们还将简要学习如何把这些匹配技术用于删除重复的数据。...之所以选这个数据集,是因为医院的数据具有一些独特性,使其难以匹配: 许多医院在不同的城市都有相似的名字(圣卢克斯、圣玛丽、社区医院,这很类似我国很多城市都有“协和医院”一样) 在某个城市内,医院可以占用几个街区...其主要功能如下: 能够根据列的数据类型,为每个列定义匹配的类型 使用“块”限制潜在的匹配项的池 使用评分算法提供匹配项的排名 衡量字符串相似度的多种算法 有监督和无监督的学习方法 多种数据清理方法 权衡之下...dupe_indexer.sortedneighbourhood(left_on='State') dupe_candidate_links = dupe_indexer.index(hospital_dupes) 根据城市、名称和地址检查是否有重复记录
它是用于数据分析操作的最优选和广泛使用的库之一。 pandas具有简单的语法和快速的操作。它可以轻松处理多达1万条数据。...在这里,我们以正确的顺序成功地将该列转换为标签编码的列。 用于独热编码的get_dummies() 获取虚拟变量是pandas中的一项功能,可帮助将分类变量转换为独热变量。...我们可以将任何函数传递给apply函数的参数,但是我主要使用lambda函数, 这有助于我在单个语句中编写循环和条件。 使用apply和lambda函数,我们可以从列中存在的唯一文本中提取重复凭证。...在我们的大卖场销售数据中,我们有一个Item_Identifier列,它是每个产品的唯一产品ID。此变量的前两个字母具有三种不同的类型,即DR,FD和NC,分别代表饮料,食品和非消耗品。...尾注 那就是pandas的力量;仅用几行代码,我们就创建了不同类型的新变量,可以将模型的性能提升到另一个层次。
在做数据分析时,常常需要了解数据元素的特征,describe()函数可以用于描述数据统计量特征 二、缺失值处理 缺失值检查 isnull() 在 pandas 库中,isnull() 函数用于检查数据是否为空值...查找重复值 duplicated() Python的duplicated函数是pandas库中的一个函数,用于判断DataFrame或Series中的元素是否重复。...利用duplicated()方法检测冗余的行或列,默认是判断全部列中的值是否全部重复,并返回布尔类型的结果。对于完全没有重复的行,返回值为False。...下面是一些常用的处理方法: 检查重复值:使用.duplicated()方法可以检查DataFrame中的重复行。...inplace:指示是否在原DataFrame上进行修改。默认为False,表示返回一个新的DataFrame。 verify_integrity:指示是否在设置完成后检查新的索引是否唯一。
、数据分析和数据可视化全套流程操作 pandas主要面向数据处理与分析,主要具有以下功能特色: 按索引匹配的广播机制,这里的广播机制与numpy广播机制还有很大不同 便捷的数据读写操作,相比于numpy...其中,由于pandas允许数据类型是异构的,各列之间可能含有多种不同的数据类型,所以dtype取其复数形式dtypes。...isin/notin,条件范围查询,即根据特定列值是否存在于指定列表返回相应的结果 where,仍然是执行条件查询,但会返回全部结果,只是将不满足匹配条件的结果赋值为NaN或其他指定值,可用于筛选或屏蔽值...,按行检测并删除重复的记录,也可通过keep参数设置保留项。...,要求每个df内部列名是唯一的,但两个df间可以重复,毕竟有相同列才有拼接的实际意义) merge,完全类似于SQL中的join语法,仅支持横向拼接,通过设置连接字段,实现对同一记录的不同列信息连接,支持
1.2.2 duplicated()方法的语法格式 subset:用于识别重复的列标签或列标签序列,默认识别所有的列标签。 ...keep:删除重复项并保留第一次出现的项取值可以为 first、last或 False duplicated()方法用于标记 Pandas对象的数据是否重复,重复则标记为True,不重复则标记为False...b)用具体的值来进行替换,可用前后两个观测值的平均值修正该异常值 c)不处理,直接在具有异常值的数据集上进行统计分析 d)视为缺失值,利用缺失值的处理方法修正该异常值。 ...数据重塑 3.1 重塑层次化索引 Pandas中重塑层次化索引的操作主要是 stack()方法和 unstack()方法,前者是将数据的列“旋转”为行,后者是将数据的行“旋转”为列。 ...4.1.1 rename()方法 index,columns:表示对行索引名或列索引名的转换。 inplace:默认为False,表示是否返回新的Pandas对象。
这里还要注意一点:由于type列对应了不同的空气质量要素,而不同的空气质量要素具有不同的取值范围,因此在使用describe查看统计信息时,应针对不同的要素进行,这样才有具体意义,才能看出每个要素的值分布...,以及确定是否存在异常值。...Pandas主要有两种数据查询选择操作: 基于标签的查询 基于整数的位置索引查询 Pandas在选择列时,无需使用 date[:, columns] 的形式,先使用 : 选择所有行,再指定 columns...基于标签的查询 .loc .loc 主要基于标签进行数据选择,此外还可以使用逻辑数组。当所选择的项不存在时会诱发异常。...箱线图 上图可以看出:不同的要素其值所在范围是不同的,在探索性分析时应分开分析。 除了箱线图之外,Pandas还可以绘制折线图,条形图,饼图,密度分布等。
领取专属 10元无门槛券
手把手带您无忧上云