📅  最后修改于: 2023-12-03 15:08:48.191000             🧑  作者: Mango
在 Spark 数据框中添加行可以使用 union
或者 concat
方法,其中 union
方法用于合并两个相同结构的数据框,concat
方法用于按行合并两个不同结构的数据框。
以下是一个示例程序:
from pyspark.sql.functions import lit
# 创建一个空数据框
df_empty = spark.createDataFrame([], schema=['id', 'name', 'age'])
# 创建一个包含一行数据的数据框
df_new = spark.createDataFrame([(1, 'Alice', 25)], schema=['id', 'name', 'age'])
# 使用 'union' 方法合并两个数据框
df_merged = df_empty.union(df_new)
# 使用 'concat' 方法将两个数据框按行合并
df_concatenated = df_empty.union(df_new.selectExpr(df_empty.columns))
# 在原始数据框中添加一行数据
df_added = df_empty.withColumn('id', lit(1)).withColumn('name', lit('Alice')).withColumn('age', lit(25))
# 显示结果
df_added.show()
以上程序创建了一个空数据框 df_empty
,然后创建了一个包含一行数据的数据框 df_new
。然后使用 union
方法将这两个数据框合并成一个新的数据框 df_merged
,并使用 concat
方法将这两个数据框按行合并成一个新的数据框 df_concatenated
。最后,使用 withColumn
方法在原始数据框 df_empty
中添加一行数据,并将结果存储在 df_added
中。