相关疑难解决方法(0)

如何向Spark DataFrame添加新列(使用PySpark)?

我有一个Spark DataFrame(使用PySpark 1.5.1)并想添加一个新列.

我试过以下但没有成功:

type(randomed_hours) # => list

# Create in Python and transform to RDD

new_col = pd.DataFrame(randomed_hours, columns=['new_col'])

spark_new_col = sqlContext.createDataFrame(new_col)

my_df_spark.withColumn("hours", spark_new_col["new_col"])
Run Code Online (Sandbox Code Playgroud)

使用这个也有错误:

my_df_spark.withColumn("hours",  sc.parallelize(randomed_hours))
Run Code Online (Sandbox Code Playgroud)

那么如何使用PySpark将新列(基于Python向量)添加到现有的DataFrame中?

python dataframe apache-spark apache-spark-sql pyspark

110
推荐指数
4
解决办法
21万
查看次数

使用 Pyspark 计算 Dataframe 中每一行的行总和

有一种求DF中行总和的场景如下

ID DEPT [..] SUB1 SUB2 SUB3 SUB4  **SUM1**
1  PHY      50    20   30   30   130
2  COY      52    62   63   34   211
3  DOY      53    52   53   84
4  ROY      56    52   53   74
5  SZY      57    62   73   54
Run Code Online (Sandbox Code Playgroud)

需要找到每一行的 SUB1 SUB2 SUB3 SUB4 的行总和,并将其作为新列 SUM1。数据帧中 SUB1 列的序号位置为 16。

python apache-spark pyspark

2
推荐指数
1
解决办法
1万
查看次数