PySpark DataFrame 分割17 Mar 2025 | 5 分钟阅读 当数据集非常大时,将数据表分割成相等的部分然后单独处理每个数据框将非常有益。当数据框上的操作与行无关时,这才是可能的。在这里,每个机会,或者我们可以说,相等分割的数据框,可以利用资源以非常有效的方式并行处理。我们通过本文来实现这一点。我们将讨论并学习如何将 PySpark 数据框分割成相等数量的行,甚至列。当然,在本文中,我们将主要关注行。 让我们为演示目的创建一个 DataFrame。 首先,我们将导入所需的模块。之后,我们将从 Pyspark.sql 模块导入 SparkSession。然后,我们将创建 SparkSession 并为其指定应用程序名称。 之后,我们将为数据框设置列名,然后为数据框设置行数据。 最后,我们将使用我们设置的上述值来创建数据框,然后我们将查看数据框。 代码输出 ![]() 在上面的代码块中,我们可以看到数据框的模式结构已经定义,并且也提供了示例数据。值得注意的是,数据框包含两个字符串类型的列,共有 12 条记录。 现在让我们举几个例子来理解这种 PySpark 数据框的拆分。 示例 1:使用 'DataFrame.limit()' 拆分数据框在此示例中,我们将使用 split() 方法,然后创建 'n' 个相等的数据框。 语法 这里 limit 是将结果计数限制到指定的所需数量。 在此代码中,我们将首先定义我们想要分割的次数。然后我们将计算每个数据框的行数,并创建原始数据框的副本。之后,我们将迭代数据框,获取每行的顶部长度,并截断副本定义以删除已获取的内容。然后我们将查看数据框,最后,我们将增加以分割数字。 代码 输出 ![]() 示例 2:在此示例中,我们拆分了数据框并执行了连接结果的操作。 在此示例中,我们将数据框拆分成相等的部分,然后单独对每一部分执行连接操作。我们将结果连接到 result_df。好吧,这是关于用户如何能够使用前一段代码的扩展来为每个数据框执行单独的数据框操作,然后追加这些单独的数据框以生成新的数据框,该数据框具有特定长度,并且该长度等于原始数据框。 这里我们最初定义了我们要进行的拆分数,然后计算了每行数据框的行数。之后,我们创建了原始数据框的副本,并为每个单独拆分的列进行了修改函数。之后,我们创建了一个空数据框来存储连接的结果,然后为每个数据框进行了迭代。之后,我们做了与上面代码中 Vishal 一样的步骤,例如获取每行的长度或截断副本定义。最后,我们对新创建的数据框执行了操作,然后连接了数据框,最后增加了拆分号。 代码 输出 ![]() 结论在本文中,我们已经学习了 PySpark 拆分数据框以及它的用途。基本上,它用于大型数据集,当您想将其分割成相等的块然后单独处理每个数据框时。 在这里,我们创建了用于演示的数据框,并举了两个例子。在第一个示例中,我们使用 dataframe.limit 拆分了数据框,在第二个示例中,我们通过执行操作和连接结果来拆分数据框。之后,我们获得了相应的输出。 所以这就是本文的全部内容;这里的一切都以一种任何人都可以轻松从中获得帮助的方式进行了说明。 |
在查看 re 模块的 Split、Sub、Subn 函数之前,让我们先了解一些 Python 提供的 re 模块。Regex 或正则表达式 (RE) 是一个特定的文本字符串,对于定义搜索模式非常有用...
阅读 24 分钟
在本教程中,我们将学习如何使用 Python 脚本创建浅拷贝和深拷贝。通常,我们使用 =(赋值运算符)来创建 Python 对象的副本。让我们了解与在 Python 中创建副本相关的完整概念。拷贝在...
5 分钟阅读
?函数是 Python 编程中不可或缺的一部分,它允许您将代码封装成可重用块。理解如何正确调用函数是编写有效 Python 代码的基础。在本文中,我们将探讨在 Python 中调用函数的各种方法,包括...
阅读 3 分钟
在本教程中,我们将学习 Python pendulum 库。我们将讨论其功能和用法。Python 提供了 datetime 模块,它是处理日期和时间最重要的库之一,它非常灵活,并附带许多有用的方法。然而,...
阅读 6 分钟
什么是单向链表?线性数据结构,其中数据元素可以存储为有序集合,位于非连续的内存位置,称为单向链表。它包含两部分:数据部分和地址部分。数据部分...
5 分钟阅读
西尔维斯特序列以著名数学家詹姆斯·约瑟夫·西尔维斯特的名字命名,是一个迷人的数学序列,它遵循一个另类简单但有趣的规则。这个序列来源于一个特殊的递归关系,在数学和计算机技术科学中有各种应用。在本文中,...
阅读 4 分钟
Python 提供了内置方法来向列表中追加或添加元素。我们还可以将一个列表追加到另一个列表中。这些方法如下所示。 append(elmt) - 它在列表末尾追加值。 insert(index, elmt) - 它在指定位置插入值...
阅读 2 分钟
如果我们一直使用面向对象编程 (OOPS) paradigm 语言,我们应该经常听到“属性”这个词。属性有两种类型——类属性和实例属性。本教程解释了什么是属性及其类型,以及示例。由于 Python 是...的一大支持者
阅读 4 分钟
简介 在本文中,我们将讨论 SciPy。SciPy 是一个用于科学和技术计算的 Python 库。它构建在用于高效数值计算的库 NumPy 之上。它提供了许多用于处理数组、数值优化、信号处理等功能的函数...
11 分钟阅读
一种建模依赖特征(目标变量)与单个独立特征(简单回归)或多个独立特征(多元回归)之间关系的策略称为线性回归。线性回归算法基于以下假设:两种变量都具有线性...
5 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India