在这篇文章中,我们将进一步了解PySpark。数据是推动信息技术和数字领域各个方面的核心来源之一。因此,为了正确使用它,我们需要了解几个基本点。现在有大量的数据。有一些软件工具包可用于管理这些大数据。其中一个就是Pyspark。
PySpark是Apache Spark的一个Python库和扩展。
使用PySpark处理数据列
这篇文章是为那些对Apache Spark和Python编程有所了解的人准备的。了解Python和数据分析的知识 Pyspark 的知识是理解这个主题的必要条件。
如果你都准备好了,让我们开始吧。
1.安装Pyspark
本节讨论了Pyspark的安装。只要进入命令提示符,并确保你已经将Python添加到PATH 中的 环境变量.接下来,键入以下 pip命令。
pip install pyspark
通过命令提示符安装Pyspark
现在我们已经成功地在系统中安装了该框架,让我们进入正题。
2.设置环境
有一些先决条件,以确保我们有一个顺利的工作流程。以下是它们。
使用的工具和资源
-
环境。 Anaconda
-
Python版本。 3.6及以上版本
-
IDE。Jupyter Notebooks
-
数据集。 salary.csv
-
创建一个会话
-
读取数据集
-
显示数据集
3.在Pyspark中创建一个会话
Pyspark中的会话是我们进行大数据分析时最重要的方面之一。会话为我们创建了一个应用程序,这样它就保存了我们活动的每一条记录和每个检查点。使用以下代码来创建一个会话。
代码:
import pyspark
import warnings
warnings.filterwarnings('ignore')
from pyspark.sql import SparkSession
SQL模块的SparkSession类帮助我们创建一个会话。我们创建一个会话变量作为该类的一个实例。然后,构建者方法的属性appname()给出了应用程序的名称。然后getOrCreate() 方法创建一个交互式的应用程序。现在我们有了一个强大的基础,让我们进一步读取一个数据集。
4.读取数据集
当我们读取一个数据集时,机器会以SQL表的形式读取它。这个表中的每一列和单元格都默认为字符串。我们将从数据集文件夹中读取工资.csv。这是该数据集所在的路径。如果该文件存在于任何文件夹中,那么给出文件夹的路径是最好的选择。
以下是相关的代码:
data = session.read.csv('salary.csv')
data

首先,我们创建一个变量--"data",用来保存我们的数据集。会话的read函数是用来读取数据集的。该函数有一些子函数来读取各种扩展的文件。我们可以通过Pyspark读取以下类型的文件。
- csv
- 格式
- jdbc
- json
- orc
- 镶边
- 模式
- 表
- 文本
5.显示数据集
当我们读取数据集时,它只在系统中。对于查看它,有一个方法--show() 可以让我们查看它。如果数据集太大,那么该方法只显示前20行,但如果数据集很小,如10行或15行,则会显示整个表。
data.show()

数据集的视图
使用PySpark进行列转换
在上图中,该表以字符串的形式读取了表中的每个元素。然后,它还根据列的数量来命名。因此,如果我们有四列,那么它将显示从0到3的列号。 我们需要用适当的列标题来显示该表。这将是我们在这篇文章中讨论的核心话题。所以,让我们来了解一下它的步伐。
对于一个基本的操作,我们可以对一个数据集进行以下的转换:
- 创建一个新的列
- 选择一个特定的列
- 选择多个列
- 添加列
- 删除列
- 重命名列
我们不需要明确地使用外部库来做这件事,因为 派斯帕克 具有做同样事情的功能。要做到这一点,read 方法的option() 属性使我们可以查看头文件。以下是这方面的代码。
data = session.read.option('header', 'true').csv('Datasets/salary.csv', inferSchema = True)
data
option()属性使我们以适当的格式查看数据集。inferschema 参数被设置为True,使标题可见。此外,它还读取了具有相应数据类型的列。
用适当的列设置显示数据集

让我们把我们的研究转向列上的主要技术。
1.选择一个列
在Pyspark中,选择数据集中的某一列是非常容易的。**select()**函数需要一个参数作为一个列。它返回输出中的单列。
此外,为了记录所有可用的列,我们采取列 属性。这将以列表的形式返回它们。在这个例子中,我们将从数据集中选择**"工作 "**列。
代码:
data.columns
data.select('Name').show()
输出:

选择一个特定的列
2.选择多列
我们使用相同的select()函数来选择多列。这个函数可以以列的形式接受多个参数。我们正在从数据集中选择"公司 " 和**"工作 "** 列。
代码:
data.select('company', 'job').show()
输出:

选择多列
3.添加列
添加列只是使用一行代码。Pyspark 提供了withColumn()和lit() 函数。
- withColumn() 函数。这个函数需要两个参数
- 要给出的列名。
- 需要参考的数据框架中现有的列。
- lit() 函数与 withColumn() 函数集成,以增加一个新的列。它需要两个参数:
- 列名
- 为每一行提供的常数。
我们将使用withColumn()函数在我们的数据框架中添加一个新列"Tax cutting"。让我们说,剪税是所有员工共同的,所以它是一个常量值。
代码:
from pyspark.sql.functions import lit
# adding columns in dataframe
data = data.withColumn('Tax Cutting', lit(0.1))
输出:

在数据集中添加一个新的列
4.删除列
删除一个列就是永久地删除该列的所有内容。Pyspark为此提供了灵活的功能。像Pandas一样,我们有drop()函数。它把要删除的列作为一个参数。我们将尝试从数据集中删除学位 列。请确保你提到了适当的名称,否则会出现错误。
代码:
data = data.drop("degree")
data.show()
输出:
丢弃学位列
5.重命名一列
重命名一个列是改变该列的主标题或标题 。为此我们使用**withColumnRenamed()**函数。这个函数需要两个参数。
- 现有的列名
- 给予该列的新名称。
为了实际理解,我们将把job 列的名字重命名为Designation。
data = data.withColumnRenamed('job', 'Designation')
在上面的代码中, 工作 是数据框中现有的列名,而 名称 是我们将赋予该列的新名称。
重命名该列
总结
文章到此结束。我们看到了所有关于 Pyspark的列转换.各种修改,如创建一个新的列,删除它,重命名它,以及对它做一些修改。这就是开始使用这个库的基本历程。祝你在今后的学习中一切顺利。