大家好,我想在数据帧的每一行中使用现有列添加新列,我正在Spark Scala中尝试这样做。。。df是包含可变列数的数据帧,只能在运行时确定。
// Added new column "docid"
val df_new = appContext.sparkSession.sqlContext.createDataFrame(df.rdd, df.schema.add("docid", DataTypes.StringType))
df_new.map(x => {
import appContext.sparkSession.implicits._
val allVals = (0 to x.size).map(x.get(_)).toSeq
val values = allVals ++ allVals.mkString("_")
Row.fromSeq(values)
})
但这个错误是eclipse本身
请帮忙。
函数对象中的concat_ws
会有所帮助。
此代码添加了docid字段
df = df.withColumn("docid", concat_ws("_", df.columns.map(df.col(_)):_*))
假设df
的所有列都是字符串。
我有一个如下的数据框。我需要在现有列的基础上创建一个新列。 输出数据帧看起来像这样 我用来寻找col3的逻辑是如果col1计数 我熟悉如何在sql中实现这一点。但很难找到数据帧DSL的解决方案。任何帮助都将不胜感激。谢谢
/spark/python/pyspark/sql/dataframe.py“,第1313行,在withColumn assert isinstance(col,Column)中,”col应该是Column“assertionerror:col应该是Column 如何使用自定义函数或randint函数为列生成随机值?
在我的scala程序中,我有一个dataframe,其中有两列和(类型都为)。除此之外,我有一个先前定义的对象和一些方法和属性。在这里,我想要使用dataframe的当前值和中的属性向dataframe添加一个新列。 例如,如果我有下面的dataframe: 谢谢你。
那么,如何使用PySpark向现有的DataFrame添加一个新列(基于Python vector)呢?
初始数据流: 产生的数据frame: 我通常通过使用以下内容将新列“追加”到dataframe:
本文向大家介绍向Pandas中的现有DataFrame添加新列,包括了向Pandas中的现有DataFrame添加新列的使用技巧和注意事项,需要的朋友参考一下 Pandas 数据框是一种二维数据结构,即,数据以表格的形式在行和列中对齐。可以使用python dict,list和series等创建它。在本文中,我们将看到如何在现有数据框中添加新列。因此,首先让我们使用pandas系列创建一个数据框。