在pyspark中,可以使用withColumn
方法将多个列的值存储在新列下的dataframe中。
具体步骤如下:
from pyspark.sql import SparkSession
from pyspark.sql.functions import concat, col
spark = SparkSession.builder.getOrCreate()
data = [("John", "Doe", 25),
("Jane", "Smith", 30),
("Tom", "Brown", 35)]
df = spark.createDataFrame(data, ["first_name", "last_name", "age"])
df.show()
输出:
+----------+---------+---+
|first_name|last_name|age|
+----------+---------+---+
| John| Doe| 25|
| Jane| Smith| 30|
| Tom| Brown| 35|
+----------+---------+---+
withColumn
方法将多个列的值存储在新列下:df_new = df.withColumn("full_name", concat(col("first_name"), col("last_name")))
df_new.show()
输出:
+----------+---------+---+---------+
|first_name|last_name|age|full_name|
+----------+---------+---+---------+
| John| Doe| 25| JohnDoe |
| Jane| Smith| 30|JaneSmith|
| Tom| Brown| 35|TomBrown |
+----------+---------+---+---------+
在这个例子中,我们使用withColumn
方法创建了一个新的列"full_name",该列的值是"first_name"和"last_name"列的值的拼接。
推荐的腾讯云相关产品:腾讯云的数据仓库产品TencentDB for TDSQL,它提供了高性能、高可用的云数据库服务,适用于各种规模的数据存储和分析场景。产品介绍链接地址:https://cloud.tencent.com/product/tdsql
DB TALK 技术分享会
DBTalk
云+社区技术沙龙[第17期]
云+社区技术沙龙[第9期]
Elastic Meetup
DB・洞见
技术创作101训练营
领取专属 10元无门槛券
手把手带您无忧上云