首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从python列表中添加一个新列在pyspk.sql.dataframe.DataFrame上?

从python列表中添加一个新列在pyspk.sql.dataframe.DataFrame上?
EN

Stack Overflow用户
提问于 2018-08-02 04:57:24
回答 1查看 0关注 0票数 0

假设我们有一个DataFrame由以下创建的PySpark 。

代码语言:javascript
复制
import pyspark
from pyspark.sql import SQLContext
sc = pyspark.SparkContext()
sqlContext = SQLContext(sc)

columns = ['dogs', 'cats']
vals = [
     (1, 2),
     (2, 0),
     (0, 0),
     (2, 5)
]
df = sqlContext.createDataFrame(vals, columns)

DataFrame如果我们的列是列表,我们如何添加新列。

我尝试了以下的事情,但没有任何效果:

代码语言:javascript
复制
from pyspark.sql import functions as F
df=df.withColumn('new', F.lit([1,2,3,4]))
df=df.withColumn('new2', F.column([1,2,3,4]))
EN

回答 1

Stack Overflow用户

发布于 2018-08-02 14:54:32

如果要向每一行添加相同的列表,可以使用pyspark.sql.functions.array详情如下:

代码语言:txt
复制
df=df.withColumn('new', F.array([F.lit(x) for x in [1,2,3,4]]))
df.show()
#+----+----+------------+
#|dogs|cats|         new|
#+----+----+------------+
#|   1|   2|[1, 2, 3, 4]|
#|   2|   0|[1, 2, 3, 4]|
#|   0|   0|[1, 2, 3, 4]|
#|   2|   5|[1, 2, 3, 4]|
#+----+----+------------+
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100001873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档