如何通过列名的前缀对 Spark 数据框进行子集化?

Nel*_*le 1 prefixes apache-spark apache-spark-sql pyspark

我的 Spark 数据帧df的列名称是:A_x1、A_x2、B_x1、B_x2、C_x1、C_x2。

如何使用前缀从df创建 3 个新的 Spark 数据帧?输出应如下所示:

  • 名为A_的数据框包含列 A_x1、A_x2、
  • 名为B_的数据框包含列 B_x1、B_x2、
  • 名为C_的数据帧包含列 C_x1、C_x2。

谢谢你!

mck*_*mck 5

您可以使用colRegex过滤列:

A_ = df.select(df.colRegex('`A_.*`'))
B_ = df.select(df.colRegex('`B_.*`'))
C_ = df.select(df.colRegex('`C_.*`'))
Run Code Online (Sandbox Code Playgroud)