如何将pyspark数据帧按列分成两个数据帧?

时间:2018-07-17 19:46:13

标签: python apache-spark dataframe pyspark

我有一个加载到数据框中的CSV数据集:

df = spark.read.format("csv").option("header", "true").load(filename)

我想将此数据框按其列划分为两个单独的数据框,例如df看起来像这样:

+---+---+---+---+
| F1| F2| F3| F4|
+---+---+---+---+
|  0|  1|0.5| 21|
|  1|  2|0.8| 12|
|  2|  3|0.2| 10|
|  3|  3|0.6| 16|
|  4|  4|0.3| 12|
+---+---+---+---+

应将其拆分为两个数据帧,一个数据帧包含列F1F2,另一个数据帧应包含列F3F4

df1:

+---+---+
| F1| F2|
+---+---+
|  0|  1|
|  1|  2|
|  2|  3|
|  3|  3|
|  4|  4|
+---+---+

df2:

+---+---+
| F3| F4|
+---+---+
|0.5| 21|
|0.8| 12|
|0.2| 10|
|0.6| 16|
|0.3| 12|
+---+---+

一种方法是:

df1 = df.select(df.schema.names[:2])
df2 = df.select(df.schema.names[2:])

我想知道是否可以在此应用一种简单有效的方法,例如在熊猫中切片数据框。

0 个答案:

没有答案