如何将集合作为新列追加到具有许多列的DataFrame中?

桑卡

我想将新列追加(添加)到具有多个列的现有数据框。

val a = Seq(
  ("10", "MILLER", "1300", "2017-11-03"),
  ("30", "Martin", "1250", "2017-11-21")).toDF("dept_no","emp_name","sal","date")
scala> a.show
+-------+--------+----+----------+
|dept_no|emp_name| sal|      date|
+-------+--------+----+----------+
|     10|  MILLER|1300|2017-11-03|
|     30|  Martin|1250|2017-11-21|
+-------+--------+----+----------+

使用上面的数据框,我想添加集合的每个元素(例如常规的Scala集合或另一个单列DataFrame),例如

val lst = List("10", "Susan")

如何将上述元素添加lsta数据框的行中(每行一个元素)?

安德罗尼库斯

让我们转换lst为一个DataFrame:

val lst = List("10", "Susan").toDF

您可以使用以下zip方法RDD

import org.apache.spark.sql.Row
val data = a.rdd.zip(lst.rdd).map { case (l, r) => Row.fromSeq(l.toSeq ++ r.toSeq) }
import org.apache.spark.sql.types.StructType
val schema = StructType(a.schema.fields ++ lst.schema.fields)
val solution = spark.createDataFrame(data, schema)
scala> solution.show
+-------+--------+----+----------+-----+
|dept_no|emp_name| sal|      date|value|
+-------+--------+----+----------+-----+
|     10|  MILLER|1300|2017-11-03|   10|
|     30|  Martin|1250|2017-11-21|Susan|
+-------+--------+----+----------+-----+

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在熊猫中如何将具有许多属性和值的列解析为新列并获取它们的值

如何将列表的Numpy列表直接作为列追加到现有CSV文件中?

如何将多个集合作为一个具有自己最终文档形状的集合加入?

将Series作为特定索引的新列追加到DataFrame

在Pyspark中,如何将值列表作为新列添加到现有数据框?

如何将具有相同长度的系列中的值附加到 Dataframe 列中的数组中?

如何将具有特定数据的新列添加到 R 数据框中

如何将numpy日期时间列表添加到Pandas Dataframe中作为列?

有没有一种方法可以将DataFrame中的重复行作为新列追加到右侧?

如何将动态集合作为流处理?

如何将KeyValuePair集合作为JSON数组访问

Apache Spark如何将列表/数组中的新列追加到Spark数据框

如何将列添加到具有基于列值的范围填充行的Pandas Dataframe

如何将值附加到新列中的现有值

如何将嵌套列表作为新列添加到现有的熊猫数据框

如何将 dataframe-js 中的所有列值作为数组获取?

如何将具有XML格式的数据的列拆分为新数据库的不同行,作为TALEND中的KEY VALUE

如何将两列合并到新的DataFrame中?

如何将一列添加到DataFrame中,以N个块的形式对行进行分组?与NTILE类似,但具有固定的存储桶大小

将具有不同长度的列表作为新列添加到数据框

将dataFrame列追加到其他具有不同名称和顺序的列吗?

如何将列表作为新行附加到特定列?

在DataFrame中添加具有相邻列数的新列作为另一列的值

将现有列生成的输出作为新列添加到表中

如何将具有多个子行项目(从一列)的 CSV 转换为 Awk 中的新列?

如何为具有许多列的Spark DataFrame定义架构

将Pandas Series作为列追加到DataFrame

如何将列中的值作为pandas中DataFrame中的列

将向量作为单独的新列追加到data.table中,向量循环单个值