我有一个加载到数据框中的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|
+---+---+---+---+
应将其拆分为两个数据帧,一个数据帧包含列F1
和F2
,另一个数据帧应包含列F3
和F4
。
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:])
我想知道是否可以在此应用一种简单有效的方法,例如在熊猫中切片数据框。