我有一个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中?
有一种求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。