gpt4 book ai didi

python - 如何使用列表重命名 pyspark 数据框的所有列

转载 作者:行者123 更新时间:2023-12-02 02:00:27 24 4
gpt4 key购买 nike

我有一个现有的 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()

输出

+---+---+---+---+
| A| B| C| D|
+---+---+---+---+
| 6| 9| 4| 7|
| 6| 4| 7| 9|
| 2| 5| 2| 2|
| 3| 7| 4| 5|
| 8| 9| 6| 8|
+---+---+---+---+

更改列名

newcolumns = ['new_A','new_B','new_C','new_D']
df.toDF(*newcolumns).show()

输出

+-----+-----+-----+-----+
|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|
+-----+-----+-----+-----+

关于python - 如何使用列表重命名 pyspark 数据框的所有列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69037330/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com