![](https://img-blog.csdnimg.cn/20190918140053667.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Pandas 2
文章平均质量分 96
Pandas 2
数智笔记
目前从事数据挖掘工作,期望在自己学习总结的同时,也能分享有益的东西给别人,希望有志者能在数据挖掘领域共同进步
展开
-
Pandas 2使用指南:IO工具(文本、CSV、HDF5等)
这里是一份关于其中一些IO方法的非正式性能比较。注意对于使用类的示例,请确保使用导入它,适用于Python 3。用于读取文本文件(也称为平面文件)的主要函数是。有关一些高级策略,请参阅cookbook。接受以下常见参数:filepath_or_buffer各种类型文件路径(、或)、URL(包括http、ftp和S3位置)或具有方法的任何对象(例如打开的文件或)。sepstr,默认为的,的分隔符。如果sep为,C引擎无法自动检测分隔符,但Python解析引擎可以,这意味着后者将被使用,并通过Python的内置原创 2024-02-04 09:00:04 · 670 阅读 · 0 评论 -
Pandas 2 使用指南:表格可视化
在对 DataFrame 的数据进行处理之后,应该执行样式和输出显示的自定义操作。如果对 DataFrame 进行进一步更改,Styler 不会动态更新。属性是一个返回Styler对象的属性。它在 Jupyter Notebook 中自动呈现,因为它在其上定义了方法。HTMLLaTeX字符串(通过扩展支持 CSV)Excel(JSON 目前不可用)前三种格式都有用于格式化和自定义输出的显示自定义方法。使用.format()和格式化值、索引和列标题,使用重命名索引或列标题标签,原创 2024-02-04 08:36:32 · 1122 阅读 · 0 评论 -
Pandas 2 使用指南:选项和设置
pandas 提供了一个选项 API,用于配置和自定义与 DataFrame显示、数据行为等相关的全局行为。选项具有完整的“点式”、不区分大小写的名称(例如您可以直接将选项作为顶级optionsOut[2]: 15API 由 5 个相关函数组成,可以直接从pandas- 获取/设置单个选项的值。- 将一个或多个选项重置为默认值。- 打印一个或多个选项的描述。- 在执行后恢复到先前设置的一组选项的代码块中执行。注意开发人员可以查看获取更多信息。上述所有函数都接受一个正则表达式模式(原创 2024-02-04 07:19:34 · 1028 阅读 · 0 评论 -
Pandas 2 使用指南:Cookbook
将多个文件合并为单个 DataFrame 的最佳方法是逐个读取各个 DataFrame,将所有单个 DataFrame 放入列表中,然后使用。在可能的情况下,我们已经插入了简化、压缩、适合新用户的内联示例,以增强 Stack Overflow 和 GitHub 链接所提供的信息。这是一个存放有关有用的 pandas 示例和链接的“简短而甜美”的存储库。计算的相关性矩阵中获得下三角形(或上三角形)形式的相关性矩阵是有用的。将一个以小时为列、以天为行的矩阵转换为连续的行序列,形成时间序列的形式。原创 2024-02-03 09:53:41 · 753 阅读 · 0 评论 -
Pandas 2 使用指南:常见问题解答 (FAQ)
在编程中有一个通用规则,即在迭代过程中不应该改变容器的内容。改变容器会使迭代器失效,导致意外的行为。else:values人们可能期望的结果是[1, 3, 5]。在使用一个接受用户定义函数 (UDF) 的 pandas 方法时,内部通常会迭代 DataFrame或其他 pandas 对象。因此,如果 UDF 改变了 DataFrame的内容,就会导致意外的行为。下面是一个类似的示例,使用 DataFrame.apply()def f(s):s.pop("a")return s。原创 2024-02-03 09:51:08 · 1177 阅读 · 0 评论 -
Pandas 2 使用指南:稀疏数据结构 Sparse data structures
这些数据结构不一定是典型的“大部分为0”的稀疏数据。相反,你可以将这些对象视为“压缩”的,其中任何与特定值匹配的数据(格式的矩阵将被转换,根据需要复制数据。要将其转换回 COO 格式的稀疏 SciPy 矩阵,可以使用 DataFrame.sparse.to_coo()正如你所看到的,密度(未被“压缩”的值的百分比)非常低。将导致索引是矩阵的行和列坐标的笛卡尔积。的数据,以及用于从 scipy COO 矩阵创建具有稀疏数据的 Series。它是一个一维的类似于 ndarray 的对象,只存储与。原创 2024-02-03 09:49:16 · 1146 阅读 · 0 评论 -
Pandas 2 使用指南:大规模数据集的扩展
pandas 提供了用于内存分析的数据结构,这使得使用 pandas 分析大于内存数据集的数据集有些棘手。通过使用更高效的数据类型,您可以在内存中存储更大的数据集。的类似于 pandas 的 API,用于并行处理大于内存的数据集。此工作流程的峰值内存使用量是最大分块加上一个存储到目前为止的唯一值计数的小系列。假设我们在磁盘上有一个更大的“逻辑数据集”,它是一个包含多个 Parquet 文件的目录。此时,您将获得与 pandas 相同的结果,本例中是一个具体的 pandas pandas.Series。原创 2024-02-03 09:46:38 · 991 阅读 · 0 评论 -
Pandas 2 使用指南:提升性能 Enhancing performance
可以通过使用 Series.to_numpy()将其 NumPy 数组表示传递给 pandas 对象,从而在 pandas 对象中使用带有@jit装饰器的自定义 Python 函数。@numba.jit@numba.jits = 0@numba.jit在此示例中,使用 Numba 比 Cython 更快。Numba 还可以用于编写向量化函数,无需显式循环遍历向量的每个观测值;向量化函数将自动应用于每一行。# 不使用 numba 的自定义函数# 标准实现(比自定义函数更快)原创 2024-02-03 09:45:42 · 865 阅读 · 0 评论 -
Pandas 2 使用指南:时间差 Timedelta
对于除了支持的“s”、“ms”、“us”、“ns”之外的 timedelta64 分辨率,可以通过除以另一个 timedelta 对象来实现。可以通过将其转换为特定的 timedelta dtype 来将 Timedelta Series、TimedeltaIndex 和 Timedelta 转换为其他频率。时间差是指时间之间的差异,以不同的单位表示,例如天、小时、分钟、秒。它们可以是正数也可以是负数。如果传递的是没有单位的字符串,则默认单位为纳秒。上的频率转换类似,您可以将这些索引转换为另一个索引。原创 2024-02-03 09:13:54 · 1621 阅读 · 0 评论 -
Pandas 2 使用指南:时间序列/日期功能
例如,pandas支持:从各种来源和格式解析时间序列信息生成固定频率的日期和时间序列操作和转换带有时区信息的日期时间对时间序列进行重新采样或转换为特定频率使用绝对或相对时间增量进行日期和时间运算pandas提供了一套相对紧凑和自包含的工具,用于执行上述任务和更多任务。pandas涵盖了4个常见的与时间相关的概念:对于时间序列数据,将时间组件表示为或的索引是常见的做法,以便可以根据时间元素进行操作。但是,和也可以直接支持时间组件作为数据本身。当将、和数据传递给这些构造函数时,和具有扩展的数据类型原创 2024-02-03 09:06:39 · 1174 阅读 · 0 评论 -
Pandas 2 使用指南:窗口操作 Windowing operations
滚动窗口:对值进行滚动的固定或可变大小的窗口。加权窗口:由库提供的加权、非矩形窗口。扩展窗口:对值进行累积的窗口。指数加权窗口:对值进行累积和指数加权的窗口。概念方法返回对象支持基于时间的窗口支持链接的 groupby支持表方法支持在线操作滚动窗口rolling是是是 (自版本 1.3)否加权窗口rolling否否否否扩展窗口expanding否是是 (自版本 1.3)否指数加权窗口ewm否是 (自版本 1.2)否是 (自版本 1.3)原创 2024-02-03 09:03:25 · 1126 阅读 · 0 评论 -
Pandas 2 使用指南:Groupby:拆分-应用-合并 split-apply-combine
用户还可以为自定义聚合提供自己的用户定义函数(UDF)。警告在使用 UDF 进行聚合时,UDF 不应更改提供的Series。有关更多信息,请参见使用用户定义函数 (UDF) 进行更改。注意animalsOut[100]:0 猫 9.1 7.91 狗 6.0 7.52 猫 9.5 9.93 狗 34.0 198.0Out[101]:heightkind猫 {9.1, 9.5}狗 {34.0, 6.0}结果的数据类型将反映聚合函数的数据类型。原创 2024-02-03 09:02:02 · 912 阅读 · 0 评论 -
Pandas 2使用指南:图表可视化
pandas提供了用于时间序列绘图的自定义格式。这些格式可以更改日期和时间的轴标签的格式。默认情况下,自定义格式仅应用于由pandas使用DataFrame.plot()或Series.plot()创建的绘图。要使它们应用于所有绘图,包括由matplotlib创建的绘图,请设置选项或使用pandas.plotting.register_matplotlib_converters()。原创 2024-02-03 08:57:23 · 986 阅读 · 0 评论 -
Pandas 2 使用指南:可空整数数据类型、可空布尔数据类型
是浮点数,这会导致带有任何缺失值的整数数组变为浮点数。但是,如果您的整数列是一个标识符,转换为浮点数可能会有问题。其 API 或实现可能会在没有警告的情况下发生更改。缺失值将被传播,并且如果需要,数据将被强制转换为其他 dtype。pandas 允许在布尔数组中使用 NA 值进行索引,这些值被视为 False。当运算中存在 NA 时,输出值仅在结果无法仅基于其他输入确定时为 NA。这些运算是对称的,因此左右两侧的翻转不会影响结果。在这种情况下,我们实际上不需要考虑 NA 的值。在逻辑运算中的行为不同。原创 2024-02-03 08:56:06 · 1103 阅读 · 0 评论 -
Pandas 2 使用指南:分类数据 Categorical data
与统计学中的分类变量相反,分类数据可能具有顺序(例如“强烈同意”与“同意”或“第一次观察”与“第二次观察”),但不能进行数值运算(加法、除法等)。中的个别值也会被重命名,但如果第一个位置在最后排序,重命名后的值仍将在最后排序。如果想要在一步中删除和添加新类别(这样有一些速度优势),或者只是将类别设置为预定义的范围,可以使用。排序将使用类别定义的顺序,而不是数据类型上存在的任何词法顺序。默认情况下,结果的类别将按照它们在数据中出现的顺序排序。这可能是您想要的,但如果您依赖于类别的确切编号,请注意。原创 2024-02-03 08:53:50 · 1126 阅读 · 0 评论 -
Pandas 2 使用指南: 重复标签 Duplicate Labels
如果你熟悉 SQL,你就知道行标签类似于表的主键,你肯定不希望在 SQL 表中有重复的主键。而真实世界的数据中有重复,即使在应该是唯一的字段中也有。在处理原始的杂乱数据时,你可能会首先读取杂乱的数据(其中可能存在重复标签),去重,然后禁止后续的重复,以确保数据流水线不会引入重复项。本节将介绍重复标签如何改变某些操作的行为,以及如何在操作过程中防止重复出现,或者在出现重复时如何检测它们。如果你需要额外的逻辑来处理重复标签,而不仅仅是删除重复项,可以在索引上使用。中所有重复标签(包括“原始”标签)的数字位置。原创 2024-02-03 08:46:12 · 2169 阅读 · 0 评论 -
Pandas 2 使用指南:处理缺失数据Working with missing data
的目标是提供一种可以在各种数据类型中一致使用的“缺失”指示器(而不是根据数据类型使用。在这个例子中,虽然所有列的数据类型都发生了变化,但我们只展示前 10 列的结果。pandas使用不同的标记值来表示缺失(也称为NA),具体取决于数据类型。的通用函数将返回一个填充有 NA 值的 object-dtype 数组。,默认情况下会忽略 NA 值,并在结果中保留它们。由于NA的实际值是未知的,将NA转换为布尔值是模棱两可的。,结果取决于另一个操作数的值。这里的返回类型可能会在将来改变,返回不同的数组类型。原创 2024-02-03 08:37:00 · 855 阅读 · 0 评论 -
Pandas 2 使用指南:处理文本数据 Working with text data
方法描述cat()连接字符串split()按分隔符拆分字符串rsplit()从字符串末尾开始按分隔符拆分字符串get()索引到每个元素(检索第 i 个元素)join()使用指定的分隔符连接 Series 中的每个元素按分隔符拆分字符串,返回包含虚拟变量的 DataFramecontains()如果每个字符串包含模式/正则表达式,则返回布尔数组replace()用其他字符串或可调用对象的返回值替换模式/正则表达式/字符串的出现从字符串中删除前缀,即仅在字符串以前缀开头时才删除。原创 2024-02-03 08:35:21 · 730 阅读 · 0 评论 -
Pandas 2 使用指南:重塑和透视表ReShapingand Pivot Tables
数据通常以所谓的“堆叠”或“记录”格式存储。在“记录”或“宽”格式中,通常每个主题都有一行。在“堆叠”或“长”格式中,每个主题(如果适用)有多行。为了对每个唯一变量执行时间序列操作,更好的表示形式是将 设置为唯一变量, 设置为日期以标识各个观测值。为了将数据重塑为这种形式,我们使用 方法(也可以作为顶级函数 实现):如果省略 参数,并且输入的 有多列值,这些值不用作 的列或索引输入,则生成的“重塑” 将具有 分层列,其最顶层级别指示相应的值列:然后,您可以从重塑的 中选择子集:请注意原创 2024-02-03 08:33:24 · 908 阅读 · 0 评论 -
Pandas 2 使用指南:合并、连接、串联和比较
交叉连接是指将两个 DataFrame 中的每一行都与另一个 DataFrame 中的每一行进行连接,生成的结果 DataFrame 的行数为两个 DataFrame 的行数的乘积。外连接是指保留两个 DataFrame 中所有的键值对,如果某个键在其中一个 DataFrame 中不存在,则用 NaN 填充。外连接是指保留两个 DataFrame 中所有的行,如果某个行在其中一个 DataFrame 中不存在,则用 NaN 填充。内连接是指只保留两个 DataFrame 中共有的行,其他的行将被丢弃。原创 2024-02-03 08:31:06 · 819 阅读 · 0 评论 -
Pandas 2 使用指南:写时复制(Copy-on-Write,CoW)
引入了一种新的延迟复制机制,直到修改相关对象时才进行复制,且仅在该对象与另一个对象共享数据时才进行复制。写时复制将导致更可预测的行为,因为不可能用一条语句更新多个对象,例如索引操作或方法不会产生副作用。这样可以避免在修改值时产生副作用,因此,大多数方法可以避免实际复制数据,并且仅在必要时触发复制。在写时复制中,这将不再可能,因为写时复制规则明确禁止这样做。创建多个引用会保持不必要的引用,并因此会对写时复制的性能产生影响。当启用写时复制时,这些方法返回视图,与常规执行相比,提供了显著的性能提升。原创 2024-02-03 08:29:20 · 1376 阅读 · 0 评论 -
Pandas 2 使用指南:多级索引 / 高级索引
MultiIndex保留索引的所有定义的层级,即使它们实际上没有被使用。当对索引进行切片时,您可能会注意到这一点。df.columns.levels # 原始的 MultiIndexdf[["foo","qux"]].columns.levels # 切片后这样做是为了避免重新计算层级以提高切片的性能。如果您只想看到使用的层级,可以使用 get_level_values()方法。Out[31]:# 对于特定层级要使用仅使用的层级重建MultiIndex。原创 2024-02-03 08:28:04 · 1356 阅读 · 0 评论 -
Pandas 2 使用指南: 索引和选择数据
实现的,因此,支持的功能存在于集成了此接口的 pandas API 中。此外,此功能在可用时还使用 PyArrow 的。对于接受参数的 PyArrow 类型,可以将带有这些参数的 PyArrow 类型传递给 ArrowDtype。PyArrow 还提供了 IO 读取功能,已集成到几个 pandas IO 读取器中。的列可以直接由类似于 NumPy 数组的 pyarrow.ChunkedArray。中检索 pyarrow pyarrow.ChunkedArray。返回基于 PyArrow 的数据。原创 2024-02-03 08:26:25 · 1121 阅读 · 0 评论 -
Pandas 2 使用指南:PyArrow 功能介绍
实现的,因此,支持的功能存在于集成了此接口的 pandas API 中。此外,此功能在可用时还使用 PyArrow 的。对于接受参数的 PyArrow 类型,可以将带有这些参数的 PyArrow 类型传递给 ArrowDtype。PyArrow 还提供了 IO 读取功能,已集成到几个 pandas IO 读取器中。的列可以直接由类似于 NumPy 数组的 pyarrow.ChunkedArray。中检索 pyarrow pyarrow.ChunkedArray。返回基于 PyArrow 的数据。原创 2024-02-02 20:12:29 · 1912 阅读 · 0 评论 -
Pandas 2 使用指南:基本功能
使用.agg(),可以轻松创建一个自定义的描述函数,类似于内置的describe 函数。原创 2024-02-02 14:26:27 · 770 阅读 · 0 评论 -
Pandas 2 使用指南:数据结构简介
重要的是,这是在先对 Sepal Length 大于 5 的行进行过滤,然后进行比率计算。在上面的示例中,我们插入了一个预先计算的值。与库的其他部分一样,pandas 会自动对齐具有多个输入的通用函数的标记输入。接受一个字典的字典或者一个字典的数组序列,并返回一个 DataFrame。如果未传递索引,结果将是。并不打算作为 ndarray 的替代品,因为它的索引语义和数据模型在某些地方与 n 维数组有很大的不同。您可以插入原始的 ndarrays,但它们的长度必须与 DataFrame 的索引长度相匹配。原创 2024-02-02 14:03:43 · 877 阅读 · 0 评论 -
Pandas 2 使用指南:十分钟入门Pandas
按照惯例,我们导入如下模块:pandas 中的基本数据结构pandas 提供了两种处理数据的类::一维带标签的数组,可以存储任意类型的数据,例如整数、字符串、Python 对象等。:二维数据结构,类似于二维数组或带行列的表格。请参阅 数据结构简介。通过传递一个值列表创建 ,让 pandas 创建一个默认的 。通过传递一个带有日期时间索引的 NumPy 数组使用 和带标签的列来创建 。通过传递一个字典对象创建 ,其中键是列标签,值是列的值。结果 的列具有不同的 dtype:如果你使用的是 IP原创 2024-02-02 13:50:56 · 1188 阅读 · 0 评论