首页
学习
活动
专区
圈层
工具
发布

数据分析利器--Pandas

与其它你以前使用过的(如R 的 data.frame)类似Datarame的结构相比,在DataFrame里的面向行和面向列的操作大致是对称的。...(参考:Series与DataFrame) NaN/None: python原生的None和pandas, numpy中的numpy.NaN尽管在功能上都是用来标示空缺数据。...(参考:NaN 和None 的详细比较) 3、pandas详解 3.1 简介: pandas是一个Python语言的软件包,在我们使用Python语言进行机器学习编程的时候,这是一个非常常用的基础编程库...(): 将无效值替换成为有效值 具体用法参照:处理无效值 4、Pandas常用函数 函数 用法 DataFrame.duplicated() DataFrame的duplicated方法返回一个布尔型...DataFrame.drop_duplicates() 它用于返回一个移除了重复行的DataFrame DataFrame.fillna() 将无效值替换成为有效值 5、Pandas常用知识点 5.1

4.2K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    超全的pandas数据分析常用函数总结:下篇

    基础知识在数据分析中就像是九阳神功,熟练的掌握,加以运用,就可以练就深厚的内力,成为绝顶高手自然不在话下! 为了更好地学习数据分析,我对于数据分析中pandas这一模块里面常用的函数进行了总结。...数据提取 下面这部分会比较绕: loc函数按标签值进行提取,iloc按位置进行提取pandas.DataFrame.loc() 允许输入的值: 单个标签,例如5或’a’,(请注意,5被解释为索引的标签,...数据筛选 7.1 使用与、或、非进行筛选 将满足origin是China且money小于35这两个条件的数据,返回其id、date、money、product、department、origin值。...将满足origin是China或者money小于35这两个条件之中任意一个条件的数据,返回其id、date、money、product、department、origin值。...将满足origin是China且money不小于10这两个条件的数据,返回其id、date、money、product、department、origin值。

    4.4K20

    超全的pandas数据分析常用函数总结:下篇

    基础知识在数据分析中就像是九阳神功,熟练的掌握,加以运用,就可以练就深厚的内力,成为绝顶高手自然不在话下! 为了更好地学习数据分析,我对于数据分析中pandas这一模块里面常用的函数进行了总结。...数据提取 下面这部分会比较绕: loc函数按标签值进行提取,iloc按位置进行提取pandas.DataFrame.loc() 允许输入的值: 单个标签,例如5或’a’,(请注意,5被解释为索引的标签,...数据筛选 7.1 使用与、或、非进行筛选 将满足origin是China且money小于35这两个条件的数据,返回其id、date、money、product、department、origin值。...将满足origin是China或者money小于35这两个条件之中任意一个条件的数据,返回其id、date、money、product、department、origin值。...将满足origin是China且money不小于10这两个条件的数据,返回其id、date、money、product、department、origin值。

    5.5K20

    Pandas库

    通过这些基础知识和资源,你可以逐步深入学习Pandas,从而在数据分析领域游刃有余。 Pandas库中Series和DataFrame的性能比较是什么?...在Pandas库中,Series和DataFrame是两种主要的数据结构,它们各自适用于不同的数据操作任务。我们可以对这两种数据结构的性能进行比较。...如何在Pandas中实现高效的数据清洗和预处理? 在Pandas中实现高效的数据清洗和预处理,可以通过以下步骤和方法来完成: 处理空值: 使用dropna()函数删除含有缺失值的行或列。...例如,可以根据特定条件筛选出满足某些条件的数据段,并对这些数据段应用自定义函数进行处理。...Pandas的groupby方法可以高效地完成这一任务。 在Pandas中,如何使用聚合函数进行复杂数据分析? 在Pandas中,使用聚合函数进行复杂数据分析是一种常见且有效的方法。

    2.4K10

    Pandas0.25来了,别错过这10大好用的新功能

    之前,是这样的 ? 现在,是这样的 真是货比货得扔,以前没感觉,现在一比较,有没有觉得大不相同呢? 4....精简显示 Series 与 DataFrame 超过 60 行的 Series 与 DataFrame,pandas 会默认最多只显示 60 行(见 display.max_rows 选项)。...因此,0.25 版引入了 display.min_rows 选项,默认只显示 10 行: 数据量小的 Series 与 DataFrame, 显示 max_row 行数据,默认为 60 行,前 30 行与后...30 行; 数据量大的 Series 与 DataFrame,如果数据量超过 max_rows, 只显示 min_rows 行,默认为 10 行,即前 5 行与后 5 行。...增加 explode() 方法,把 list “炸”成行 Series 与 DataFrame 增加了 explode() 方法,把 list 形式的值转换为单独的行。

    2.4K30

    Pandas从入门到放弃

    的列操作 以前面的df2这一DataFrame变量为例,若希望获取点A的x、y、z坐标,则可以通过三种方法获取: 1、df[列索引];2、df.列索引;3、df.iloc[:, :] 注意: 在使用第一种方式时...,获取的永远是列,索引只会被认为是列索引,而不是行索引;相反,第二种方式没有此类限制,故在使用中容易出现问题。...单独计算某一列某一统计指标 print(file['size'].max()) # 2999 print(file['weight'].mean()) # 144.8333 ③ 分类汇总 GroupBy可以将数据按条件进行分类...[] Pandas与NumPy异同 1)Numpy是数值计算的扩展包,能够高效处理N维数组,即处理高维数组或矩阵时会方便。...2)Numpy只能存储相同类型的ndarray,Pandas能处理不同类型的数据,例如二维表格中不同列可以是不同类型的数据,一列为整数一列为字符串。

    92710

    Pandas Query 方法深度总结

    大多数 Pandas 用户都熟悉 iloc[] 和 loc[] 索引器方法,用于从 Pandas DataFrame 中检索行和列。...SQL 比较,则 query() 方法中的表达式类似于 SQL 中的 WHERE 语句。...结果是一个 DataFrame,其中包含所有从南安普敦出发的乘客: query() 方法接受字符串作为查询条件串,因此,如果要查询字符串列,则需要确保字符串被正确括起来: 很多时候,我们可能希望将变量值传递到查询字符串中...,当应用于列名时,我们可以使用 isnull() 方法查找缺失值: df.query('Embarked.isnull()') 现在将显示 Embarked 列中缺少值的行: 其实可以直接在列名上调用各种...6 <= index < 20') 结果如下 比较多列 我们还可以比较列之间的值,例如以下语句检索 Parch 值大于 SibSp 值的所有行: df.query('Parch > SibSp')

    1.6K30

    python数据分析——Python数据分析模块

    在numpy模块中,除了arrange方法生成数组外,还可以使用 np.zeros((m,n))方法生成m行,n列的0值数组; 使用np.ones((m, n))方法生成m行,n列的填充值为1的数组...将数据源重组为DataFrame数据结构后,可以利用Pandas提供的多种分析方法和工具完成数据处理和分析任务。...DataFrame由多个Series组成,DataFrame可以类比为二维数组或者矩阵,但与之不同的是,DataFrame必须同时具有行索引和列索引。...() 删除数据集合中的空值 value_counts 查看某列各值出现次数 count() 对符合条件的统计次数 sort_values() 对数据进行排序,默认升序 sort_index() 对索引进行排序...,默认升序 group_by 对符合条件的数据进行分组统计 三、其他模块 3.1Matplotlib/Seaborn模块 在数据分析流程中,结果呈现是非常重要的步骤。

    65010

    10快速入门Query函数使用的Pandas的查询示例

    在开始之前,先快速回顾一下pandas -中的查询函数query。查询函数用于根据指定的表达式提取记录,并返回一个新的DataFrame。表达式是用字符串形式表示的条件或条件的组合。...PANDAS DATAFRAME(.loc和.iloc)属性用于根据行和列标签和索引提取数据集的子集。因此,它并不具备查询的灵活性。...所以要过滤pandas DataFrame,需要做的就是在查询函数中指定条件即可。 使用单一条件进行过滤 在单个条件下进行过滤时,在Query()函数中表达式仅包含一个条件。...返回的输出将包含该表达式评估为真的所有行。 示例1 提取数量为95的所有行,因此逻辑形式中的条件可以写为 - Quantity == 95 需要将条件写成字符串,即将其包装在双引号“”中。...其实这里的条件不一定必须是相等运算符,可以从==,!=,>,<,≥,≤中选择,例如 df.query("Quantity != 95") 文本列过滤 对于文本列过滤时,条件是列名与字符串进行比较。

    5.2K10

    10个快速入门Query函数使用的Pandas的查询示例

    在开始之前,先快速回顾一下pandas -中的查询函数query。查询函数用于根据指定的表达式提取记录,并返回一个新的DataFrame。表达式是用字符串形式表示的条件或条件的组合。...在后端pandas使用eval()函数对该表达式进行解析和求值,并返回表达式被求值为TRUE的数据子集或记录。所以要过滤pandas DataFrame,需要做的就是在查询函数中指定条件即可。...使用单一条件进行过滤 在单个条件下进行过滤时,在Query()函数中表达式仅包含一个条件。返回的输出将包含该表达式评估为真的所有行。...其实这里的条件不一定必须是相等运算符,可以从==,!=,>,<,≥,≤中选择,例如: df.query("Quantity != 95") 文本列过滤 对于文本列过滤时,条件是列名与字符串进行比较。...那么如何在另一个字符串中写一个字符串?将文本值包装在单个引号“”中,就可以了。

    5.1K20

    【Pandas教程】像写SQL一样用Pandas~

    -- 筛选前100行 select * from table_name limit 100 Pandas pandas支持的方式就比较多了,如果你了解python的切片操作,以下应该会比较好理解。...行的奇数行,2到10列中每隔3列取一列 data.iloc[1:10:2,2:10:3] # 筛选第2和第4行,第3和第5列 data.iloc[[2,4],[3,5]] 根据条件筛选 SQL select...自定义函数 Pandas中内置很多常用的方法,譬如求和,最大值等等,但很多时候还是满足不了需求,我们需要取调用自己的方法,Pandas中可以使用map()和apply()来调用自定义的方法,需要注意下map...的元素进行运算,返回一个DataFrame。...拼接 前文提到了merge() ,其实也算作拼接的一种,如果将merge()类比为join操作,接下来讲的拼接将类似于SQL中的union all操作。

    2.5K30

    几个高效Pandas函数

    Query Query是pandas的过滤查询函数,使用布尔表达式来查询DataFrame的列,就是说按照列的规则进行过滤操作。...Where Where用来根据条件替换行或列中的值。如果满足条件,保持原来的值,不满足条件则替换为其他值。默认替换为NaN,也可以指定特殊值。...,为False则在原数据的copy上操作 axis:行或列 将df中列value_1里小于5的值替换为0: df['value_1'].where(df['value_1'] > 5 , 0) # 等价于...比如说dataframe中某一行其中一个元素包含多个同类型的数据,若想要展开成多行进行分析,这时候explode就派上用场,而且只需一行代码,非常节省时间。...Nunique 注意:nunique()与unique()方法的不同。 Nunique用于计算行或列上唯一值的数量,即去重后计数。

    1.8K60

    Pandas

    方法 head(): tail(): 创建 DataFrame 创建 DataFrame 的方式有很多种,一般比较常用的是利用一个字典或者数组来进行创建 import pandas as pd import...进行切片,对行的指定要使用索引或者条件,对列的索引必须使用列名称,如果有多列,则还需要借助[]将列名称括起来。...),除了指明axis对行或者列标签的名字进行调整以外,还可以写成类似于index=mapper的形式,默认情况下,mapper匹配不到的值不会报错 更改 DataFrame 中的数据 更改值 更改值可以借助访问...的访问方式,既可以使用 se.index[2]获取行索引的值进行访问,也可以直接调用行索引值进行访问,不过比较方便的是,索引值可以是一个可以被翻译为日期的字符串(功能比较灵活,甚至可以输入年份的字符串匹配所有符合年份的数据...缺失值处理 缺失值识别: pandas.DataFrame.isnull()和 pandas.DataFrame.notnull()方法识别缺失值和非缺失值,两个方法会返回一个与输入同型的布尔df。

    10.1K31

    20个能够有效提高 Pandas数据分析效率的常用函数,附带解释和例子

    对于行标签,如果我们不分配任何特定的索引,pandas默认创建整数索引。因此,行标签是从0开始向上的整数。与iloc一起使用的行位置也是从0开始的整数。...Pct_change函数用于比较元素时间序列中的变化百分比。 df.value_1.pct_change() ? 9. Rank Rank函数实现对数据进行排序。...Melt Melt用于将维数较大的 dataframe转换为维数较少的 dataframe。一些dataframe列中包含连续的度量或变量。在某些情况下,将这些列表示为行可能更适合我们的任务。...如果axis参数设置为1,nunique将返回每行中唯一值的数目。 13. Lookup 'lookup'可以用于根据行、列的标签在dataframe中查找指定值。假设我们有以下数据: ?...Merge Merge()根据共同列中的值组合dataframe。考虑以下两个数据: ? 我们可以基于列中的共同值合并它们。设置合并条件的参数是“on”参数。 ?

    6.6K30

    通宵翻译Pandas官方文档,写了这份Excel万字肝货操作!

    在 Pandas 中,索引可以设置为一个(或多个)唯一值,这就像在工作表中有一列用作行标识符一样。与大多数电子表格不同,这些索引值实际上可用于引用行。...索引值也是持久的,所以如果你对 DataFrame 中的行重新排序,特定行的标签不会改变。 5. 副本与就地操作 大多数 Pandas 操作返回 Series/DataFrame 的副本。...If/then逻辑 假设我们想要根据 total_bill 是小于还是大于 10 美元,来创建一个具有低值和高值的列。 在Excel电子表格中,可以使用条件公式进行逻辑比较。...在 Pandas 中,您通常希望在使用日期进行计算时将日期保留为日期时间对象。输出部分日期(例如年份)是通过电子表格中的日期函数和 Pandas 中的日期时间属性完成的。...查找和替换 Excel 查找对话框将您带到匹配的单元格。在 Pandas 中,这个操作一般是通过条件表达式一次对整个列或 DataFrame 完成。

    22.6K20

    30 个小例子帮你快速掌握Pandas

    通过将isna与sum函数一起使用,我们可以看到每列中缺失值的数量。 df.isna().sum() ? 6.使用loc和iloc添加缺失值 我正在做这个例子来练习loc和iloc。...8.删除缺失值 处理缺失值的另一种方法是删除它们。“已退出”列中仍缺少值。以下代码将删除缺少任何值的行。...df.isna().sum().sum() --- 0 9.根据条件选择行 在某些情况下,我们需要适合某些条件的观察值(即行)。例如,下面的代码将选择居住在法国并且已经流失的客户。...符合指定条件的值将保持不变,而其他值将替换为指定值。 20.排名函数 它为这些值分配一个等级。让我们创建一个根据客户余额对客户进行排名的列。...method参数指定如何处理具有相同值的行。first表示根据它们在数组(即列)中的顺序对其进行排名。 21.列中唯一值的数量 使用分类变量时,它很方便。我们可能需要检查唯一类别的数量。

    12.5K10

    【愚公系列】2023年07月 Pandas数据分析之DataFrames

    7.1 垂直叠加 这可能是将两个或多个dataframe合并为一个的最简单方法:您获取第一个dataframe中的行,并将第二个dataframe中的行追加到底部。...从这个简化的例子中可以看出(参见上面的全外连接),与关系型数据库相比,Pandas对行顺序的处理相当轻松。左外联结和右外联结比内外联结更容易预测(至少在需要合并的列中有重复值之前是这样)。...与原始的关联操作一样,关联的是属于第一个DataFrame的列,其他DataFrame根据它们的索引进行关联操作。...7.6 旋转和反旋转 该命令丢弃了与操作无关的任何信息(索引、价格),并将来自三个请求列的信息转换为长格式,将客户名称放入结果的索引中,将产品名称放入列中,将销售数量放入DataFrame的body...如果没有columns参数,它的行为与groupby类似 当没有重复的行进行分组时,它的工作原理与pivot类似 否则,它会进行分组和旋转 aggfunc参数控制哪一个聚合函数应该用于分组行

    57010
    领券