图片Pandas的功能与函数极其丰富,要完全记住和掌握是不现实的(也没有必要),资深数据分析师和数据科学家最常使用的大概有二三十个函数。在本篇内容中,ShowMeAI 把这些功能函数总结为10类。...图解数据分析:从入门到精通系列教程数据科学工具库速查表 | Pandas 速查表 1.读取数据我们经常要从外部源读取数据,基于不同的源数据格式,我们可以使用对应的 read_*功能:read_csv:我们读取...head:返回前几行,通常用于检查数据是否正确读取,以及了解数据字段和形态等基本信息。tail:检查最后几行。在处理大文件时,读取可能不完整,可以通过它检查是否完整读取数据。...以下函数很常用:duplicated: 识别DataFrame中是否有重复,可以指定使用哪些列来标识重复项。drop_duplicates:从 DataFrame 中删除重复项。...isnull:检查您的 DataFrame 是否缺失。dropna: 对数据做删除处理。注意它有很重要的参数how(如何确定观察是否被丢弃)和 thred(int类型,保留缺失值的数量)。
它是一种简单的拼接方式,适用于多种场景,例如将不同时间段的数据纵向堆叠,或者将具有相同索引的不同特征横向拼接。(二)参数解析objs:要连接的对象列表,可以是DataFrame或Series。...axis:指定连接的方向,默认为0,表示按行连接;1表示按列连接。join:控制连接时如何处理索引对齐。可选值有'inner'(取交集)和'outer'(取并集),默认为'outer'。...它可以实现一对一、一对多、多对多等多种复杂的关联关系。(二)参数解析left:左侧的DataFrame。right:右侧的DataFrame。...对于concat,当join='outer'时,如果不同对象之间的索引不完全一致,可能会导致结果中出现NaN值。可以通过检查索引的一致性或者调整join参数来解决。...为了避免这种情况,在合并之前先检查列名是否正确,或者使用if 'key' in df.columns:语句来判断列是否存在。
快速查看数据类型和形状的方法是— pandas.DataFrame.info。这将告诉您数据框具有多少行和列以及它们包含哪些数据类型和值。...热图和对图(pairplot)是Seaborn快速绘制整个数据的可视化以检查多重共线性,缺失值等特征的示例。...数据清洗 现实生活中的数据不能很好地安排在没有异常的数据框中并呈现给您。数据通常具有很多所谓的异常,例如缺失值,许多格式不正确的特征,不同比例的特征等。...所有这些都需要手动处理,这需要大量时间和编码技巧(主要是python和pandas:D )! Pandas具有各种功能来检查异常,例如pandas.DataFrame.isna以检查NaN等值。...但这可以用作良好的路线图。对于不同类型的数据/问题,需要自己发挥。在下面评论您的想法,或说一说您是否了解更好和更关键的技术。 作者:Chayan Kathuria deephub翻译组:孟翔杰
成功爬取到我们所需要的数据以后,接下来应该做的是对资料进行清理和转换, 很多人遇到这种情况最自然地反应就是“写个脚本”,当然这也算是一个很好的解决方法,但是,python中还有一些第三方库,像Numpy...# 检查非缺失值数据 df['gender'].notnull() # 检查缺失值资料 df['gender'].isnull() 检查字段是否含有缺失值 # 检查字段是否含有缺失值 df['age...'].isnull().values.any() # 检查DataFrame 是否还有缺失值 返回True/False df.isnull().values.any() 计算缺失值的数量 # 检查某个字段缺失值的数量...3.补齐遗失值 处理缺失值常规的有以下几种方法 舍弃缺失值 这种情况适用于当缺失值占数据比例很低时 使用平均数、中位数、众数等叙述性统计补齐缺失值 使用内插法补齐缺失值 如果字段数据成线性规律 1...'产权性质'] == ‘个人产权’] 对总价中缺失值进行合理的补全 df['总价'] = df['总价'].fillna(df['建筑面积'] * (df['总价'] / df['建筑面积']).mean
下图所示为pandas如何存储我们数据表的前十二列: 可以注意到,这些数据块没有保持对列名的引用,这是由于为了存储dataframe中的真实数据,这些数据块都经过了优化。...有个BlockManager类 会用于保持行列索引与真实数据块的映射关系。他扮演一个API,提供对底层数据的访问。...由于不同类型的数据是分开存放的,我们将检查不同数据类型的内存使用情况,我们先看看各数据类型的平均内存使用量: 由于不同类型的数据是分开存放的,我们将检查不同数据类型的内存使用情况,我们先看看各数据类型的平均内存使用量...选对比数值与字符的储存 object类型用来表示用到了Python字符串对象的值,有一部分原因是Numpy缺少对缺失字符串值的支持。...下面我们写一个循环,对每一个object列进行迭代,检查其唯一值是否少于50%,如果是,则转换成类别类型。
检查您遇到的错误是否在上一个版本中已修复。 开发版本通常每天上传到 anaconda.org 的 PyPI 注册表的 scientific-python-nightly-wheels 索引中。...安装 pandas 的开发版本 安装开发版本是最快的方式: 尝试一个将在下一个版本中发布的新功能(即,最近合并到主分支的拉取请求中的功能)。 检查您遇到的错误是否自上次发布以来已修复。...数据结构中的不规则、具有不同索引的数据轻松转换为 DataFrame 对象变得容易 对大型数据集进行智能基于标签的切片、高级索引和子集操作 直观的合并和连接数据集 灵活的数据集重塑和透视 轴的分层标签...一个DataFrame是一个可以在列中存储不同类型数据(包括字符、整数、浮点值、分类数据等)的二维数据结构。 它类似于电子表格、SQL 表或 R 中的data.frame。...DataFrame 是一种二维数据结构,可以在列中存储不同类型的数据(包括字符、整数、浮点值、分类数据等)。它类似于电子表格、SQL 表或 R 中的 data.frame。
统一的空值处理:在数据分析过程中,空值处理是一个常见且重要的问题。Pandas 2.0 引入了 pd.NA 统一表示空值,简化了空值处理的逻辑。...引入了 pd.NA 来统一表示空值,解决了过去不同数据类型空值表示不一致的问题。...检查空值:使用 isna() 和 notna() 函数检查空值。处理空值:使用 fillna() 函数填充空值,或使用 dropna() 函数删除包含空值的行或列。...它可以帮助开发者进行类型检查、自动补全和错误检测,减少代码中的潜在错误。...Pandas 2.0 对类型提示的支持Pandas 2.0 提供了更好的类型提示支持,帮助开发者在编写代码时进行类型检查和自动补全。
第3行和第4行包含相同的用户名,但国家和城市不同。 删除重复值 根据你试图实现的目标,我们可以使用不同的方法删除重复项。最常见的两种情况是:从整个表中删除重复项或从列中查找唯一值。...图3 在上面的代码中,我们选择不传递任何参数,这意味着我们检查所有列是否存在重复项。唯一完全重复的记录是记录#5,它被丢弃了。因此,保留了第一个重复的值。...图4 这一次,我们输入了一个列名“用户姓名”,并告诉pandas保留最后一个的重复值。现在pandas将在“用户姓名”列中检查重复项,并相应地删除它们。...pandas Series方法.unique() pandas Series有一个.unique()方法;然而,pandas Dataframe没有此方法。...当我们对pandas Series对象调用.unique()时,它将返回该列中唯一元素的列表。
Pandas中字符或者字符与其他类型(案例是None)的混合类型。...1 17.0 2 NaN 3 20.0 Name: Language, dtype: float64 3、检查字符串中是否包含指定的字符: # 包含 df["Language"]....0 Python Gudio 1991 3 Pandas Mckinney 2008 检查字符串是否以指定元素开始: df["Language"].str.startswith("J") # 是否以...,其余字母为小写 str.isalpha:检查字符串是否只由字母组成 str.isdigit;检查字符串是否只由数字组成 str.islower:检查字符串是否只由小写字母组成 str.isupper:...检查字符串是否只由大写字母组成 str.istitle:检查所有单词首字母是否大写,其他字母是否是小写组成 str.startswith:检查字符串是否以指定字符开始 str.endswith:检查字符串是否以指定字符结束
优化算法:检查自定义函数中的算法是否可以优化。例如,减少不必要的计算步骤,或者采用更高效的算法来解决问题。三、常见报错及解决方法(一)KeyError1....报错原因当我们尝试访问DataFrame或Series中不存在的列名或索引时,就会触发KeyError。这可能是由于拼写错误、数据结构不一致等原因造成的。2. 解决方法检查列名或索引是否正确。...报错原因ValueError通常发生在数据类型不匹配或者输入值不符合函数的要求时。例如,尝试将非数值类型的值传递给一个只能处理数值的函数。2. 解决方法在自定义函数中添加数据类型检查。...可以使用isinstance函数来判断输入值的类型,并根据不同的类型采取相应的处理措施。对于可能出现异常值的情况,提前进行预处理。例如,将非数值类型的值转换为默认值或者排除掉。...四、代码案例解释下面通过一个完整的案例来展示如何在Pandas中使用自定义函数进行数据处理。假设我们有一个包含学生成绩信息的DataFrame,其中包含学生的姓名、科目、成绩等信息。
Pandas分组统计 本文介绍的是pandas库中如何实现数据的分组统计: 不去重的分组统计,类似SQL中统计次数 去重的分组统计,类型SQL的统计用户数,需要去重 模拟数据1 本文案例的数据使用的是...检查数据是否重复 因为数据是随机生成的,我们需要检查是否有出现这种情况:name、subject、time、grade4个字段相同,但是score出现了两次,防止数据不规范。...i) # 相同数据时候i值 print("没有重复数据") 果然有上述不满足要求的数据: ?...分步骤解释: 1、找出数据不是null的值 ? 2、统计para参数中的唯一值 ? type(df1) # df1的类型是Series型数据 3、使用from_records方法来生成数据 ?...from_records方法 下面记录pandas中from_records方法的使用: 参数 DataFrame.from_records(data, index=None, exclude=None
如果left_on和right_on指定不同的列,可能因为连接列的值匹配不上,结果是一个空DataFrame,将连接方式改成outer后才能得到非空的DataFrame。 ?...六连接列是否存在DataFrame中 ---- ? indicator: 在结果中增加一列,显示连接列是否存在于两个DataFrame中。...validate: 用于指定两个DataFrame连接列的对应关系,有one_to_one(一对一),one_to_many(一对多),many_to_one(多对一),many_to_many(多对多...默认为None,merge()方法自动根据两个DataFrame的连接列采用适合的对应方式。 one_to_one: 检查两个DataFrame中的连接列,值必须唯一。...one_to_many: 检查第一个DataFrame中的连接列,值必须唯一。 many_to_one: 检查第二个DataFrame中的连接列,值必须唯一。
在内部,Pandas 将数据框存储为不同类型的 numpy 数组(比如一个 float64 矩阵,一个 int32 矩阵)。 有两种可以大幅降低内存消耗的方法。...为了检查索引是否已经排序并对它排序,主要有两种方法: %%time >>> mi_df.sort_index() CPU times: user 34.8 ms, sys: 1.63 ms, total...在得到的数据框中,「年龄」列是索引。 除了了解到「X 代」覆盖了三个年龄组外,分解这条链。第一步是对年龄组分组。...nlargest 得到自杀率排前十的国家和年份 在这些例子中,输出都是一样的:有两个指标(国家和年份)的 MultiIndex 的 DataFrame,还有包含排序后的 10 个最大值的新列 suicides_sum...管道的输出是 DataFrame,但它也可以在标准输出(console/REPL)中打印。 shape = (0, 13) 你也可以在一条链中用不同的 pipe。
不同情况的排序 排序算法 字符串处理 Pandas有两种排序方式,它们分别是: 按标签 按实际值 不同情况的排序 import pandas as pd import numpy as np unsorted_df...Mergesort是唯一稳定的算法 import pandas as pd import numpy as np unsorted_df = pd.DataFrame({'col1':[2,1,1,1...() 返回具有单热编码值的数据帧(DataFrame) 8 contains(pattern) 如果元素中包含子字符串,则返回每个元素的布尔值True,否则为False 9 replace(a,b) 将值...) 返回模式的所有出现的列表 16 swapcase 变换字母大小写 17 islower() 检查系列/索引中每个字符串中的所有字符是否小写,返回布尔值 18 isupper() 检查系列/索引中每个字符串中的所有字符是否大写...,返回布尔值 19 isnumeric() 检查系列/索引中每个字符串中的所有字符是否为数字,返回布尔值 字符串处理函数在大家的不断练习和使用中会起到巨大的作用,可快速处理绝大多数的字符串处理场景!
Pandas是其中的一种,使导入和分析数据更加容易。 Pandas dataframe.ne()函数使用常量,序列或其他按元素排列的 DataFrame 检查 DataFrame 元素的不等式。... level:在一个级别上广播,在传递的MultiIndex级别上匹配索引值 返回:结果:DataFrame 范例1:采用ne()用于检查序列和 DataFrame 之间是否不相等的函数。 ...(sr, axis = 0) 输出: 所有真值单元格都表示比较中的值彼此不相等,而所有假值单元格都表示比较中的值彼此相等。 ...范例2:采用ne()用于检查两个datframe是否不相等的函数。一个 DataFrame 包含NA值。 ...d1f.ne(df2) 输出: 所有真值单元格都表示比较中的值彼此不相等,而所有假值单元格都表示比较中的值彼此相等。
本文包括的主题: 导入包 Series DataFrames 读.csv文件 检查 处理缺失数据 缺失数据监测 缺失值替换 资源 pandas简介 本章介绍pandas库(或包)。...像SAS一样,DataFrames有不同的方法来创建。可以通过加载其它Python对象的值创建DataFrames。...检查 pandas有用于检查数据值的方法。DataFrame的.head()方法默认显示前5行。.tail()方法默认显示最后5行。行计数值可以是任意整数值,如: ?...df.columns返回DataFrame中的列名称序列。 ? 虽然这给出了期望的结果,但是有更好的方法。...它将.sum()属性链接到.isnull()属性来返回DataFrame中列的缺失值的计数。 .isnull()方法对缺失值返回True。
在Pandas中处理数据时,我们可以使用多种方法来查看和检查对象,例如 DataFrame和Series。...# 检查缺失值 df.isnull() # 删除有缺失值的行 df.dropna() # 用特定值填充缺失值 df.fillna(value) # 插入缺失值 df.interpolate()...它提供了各种函数来过滤、排序和分组DataFrame中的数据。...df1, df2, on='A', how='right') / 07 / Pandas中的统计 Pandas提供了广泛的统计函数和方法来分析DataFrame或Series中的数据。...它提供了将数据导出为不同格式的各种功能。
numpy能够帮我们处理处理数值型数据,但是这还不够, 很多时候,我们的数据除了数值之外,还有字符串,还有时间序列等 比如:我们通过爬虫获取到了存储在数据库中的数据 所以,pandas出现了。...//pandas.pydata.org/ (opens new window) # Pandas的数据结构 import pandas as pd Pandas有两个最主要也是最重要的数据结构:Series...# isnull 和 notnull 检查缺失值 # 3.1 isnull 和 notnull 检查缺失值 print(s3.isnull()) #判断是否为空 空就是True print(s3...# DataFrame介绍 DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同类型的值。...类似多维数组/表格数据(如,excel,R中的data.frame) 每列数据可以是不同的类型 索引包括列索引和行索引 # DataFrame构建
而在pandas中,按照条件进行查找则可以有多种形式,比如可以将含有True/False的Series对象传递给DataFrame,并返回所有带有True的行 ?...在pandas中也有类似的操作 ? 查找空值 在pandas检查空值是使用notna()和isna()方法完成的。...例如,通过对性别进行分组查询 SELECT sex, count(*) FROM tips GROUP BY sex; ? 在pandas中的等价操作为 ?...全连接 全连接返回左表和右表中的所有行,无论是否匹配,但并不是所有的数据库都支持,比如mysql就不支持,在SQL中实现全连接可以使用FULL OUTER JOIN SELECT * FROM df1...以上就是本文的全部内容,可以看到在不同的场景下不同的语言有着不同的特性,如果你想深入学习了解可以进一步查阅官方文档并多加练习!
领取专属 10元无门槛券
手把手带您无忧上云