2017-08-09 4 views
0

カラムt1、t2、t3、t4、t5の要素を追加し、PySparkで結果を「totaltime」とする新しい列を作成する必要があります。 データフレームは、以下の形式は次のとおりです。データフレーム内の複数の列の要素の合計を見つけて、結果をPySparkで新しい列を作成する方法は?

+--------+--------+------+------+------+------+ 
| Ser | t1 | t2 | t3 | t4 | t5 | 
+--------+--------+------+------+------+------+ 
|07142017|  84| 187| 214| 119|  7| 
|20170714|  84| 187| 209| 115|  8| 
|20170715|  83| 188| 208| 119|  6| 
|20170716|  84| 188| 206| 106|  5| 
|20170714|  86| 188| 209| 119|  4| 
+--------+--------+------+------+------+------+ 

私は次のコードを書いた:

sum1 = df1.select("t1","t2","t3","t4","t5").sum() 
df1 = df1.withColumn("totaltime",sum1) 

を私は次のエラーを取得する:

AttributeError: 'DataFrame' object has no attribute 'sum' 

私はPySparkでこれをどのように行うのですか?

+0

これを試してみてはハイブテーブルやHDFSファイル内のデータは、あなたの再データフレームで引っ張って、その後、追加しようとしているということでしょうか? – raul

+0

これは、データフレームに変換されたcsvファイルです。 –

答えて

0

df1 = df1.withColumn('totaltime', sum(df1[col] for col in ["t1","t2","t3","t4","t5"])) 
関連する問題