我有一个现有的 pyspark 数据框,约有 200 列。我有一个列名称列表(按正确的顺序和长度)。
如何在不使用 structtype 的情况下将列表应用于数据框?
假设列名列表的顺序正确并且具有匹配的长度,您可以使用toDF
准备示例数据框
import numpy as np
from pyspark.sql import SparkSession
spark = SparkSession.builder.getOrCreate()
df = spark.createDataFrame(np.random.randint(1,10,(5,4)).tolist(), list('ABCD'))
df.show()
Run Code Online (Sandbox Code Playgroud)
输出
+---+---+---+---+
| A| B| C| D|
+---+---+---+---+
| 6| 9| 4| 7|
| 6| 4| 7| 9|
| 2| 5| 2| 2|
| 3| 7| 4| 5|
| 8| 9| 6| 8|
+---+---+---+---+
Run Code Online (Sandbox Code Playgroud)
更改列名称
newcolumns = ['new_A','new_B','new_C','new_D']
df.toDF(*newcolumns).show()
Run Code Online (Sandbox Code Playgroud)
输出
+-----+-----+-----+-----+
|new_A|new_B|new_C|new_D|
+-----+-----+-----+-----+
| 6| 9| 4| 7|
| 6| 4| 7| 9|
| 2| 5| 2| 2|
| 3| 7| 4| 5|
| 8| 9| 6| 8|
+-----+-----+-----+-----+
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8765 次 |
| 最近记录: |