📌  相关文章
📜  如何从 PySpark 的数据框中选择一系列行?(1)

📅  最后修改于: 2023-12-03 15:08:14.500000             🧑  作者: Mango

如何从 PySpark 的数据框中选择一系列行?

在 PySpark 中,我们可以使用 select 方法选择数据框中的列,但是如何选择一系列行呢?这个问题可以使用 filter 方法来解决。

filter方法

filter 方法可以根据给定的条件过滤出符合条件的行,其基本语法如下:

df.filter(column_name condition)

其中,column_name 表示要过滤的列名,condition 表示过滤条件。例如,要选择 age 列中大于 30 的行,可以使用以下代码:

df.filter(df["age"] > 30)

你也可以通过多个条件来过滤数据,例如:

df.filter((df["age"] > 30) & (df["gender"] == "male"))
between 方法

between 方法可以使用给定的范围过滤出符合条件的行,其基本语法如下:

df.filter(df[column_name].between(start_value, end_value))

例如,要选择 age 列中 30 到 40 之间的行,可以使用以下代码:

df.filter(df["age"].between(30, 40))
isin 方法

isin 方法可以根据给定的列表过滤出符合条件的行,其基本语法如下:

df.filter(df[column_name].isin(list))

例如,要选择 gender 列中为 malefemale 的行,可以使用以下代码:

df.filter(df["gender"].isin(["male", "female"]))
置于一起

我们可以将以上三种方式组合起来使用,例如:

df.filter(df["age"].between(30, 40)).filter(df["gender"].isin(["male", "female"]))

以上代码将过滤出 age 列中 30 到 40 之间,并且 gender 列中为 malefemale 的行。

现在你已经了解了如何从 PySpark 的数据框中选择一系列行,你可以根据自己的需求来过滤数据了。