2017-03-01 7 views

答えて

0

私は、集計のいくつかの種類を使用して、新しいデータフレームを構築することをお勧め:

df.agg(
     sum(when($"column1" !== "", 1).otherwise(0)), 
     sum(when($"column2" !== "", 1).otherwise(0)) 
    ) 

はEDIT:このコードものの

val ncols=2 
val cols = (1 to ncols) 
    .map(i=> sum(when(col("column"+i)!=="",1).otherwise(0))) 

df.agg(cols.head,cols.tail:_*) 
+0

:あなたは列の多くを持っている場合は、このような何かを試してみてくださいスニペットで質問を解決することができます。[説明を含む](http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)は、あなたの投稿の質を向上させるのに本当に役立ちます。将来読者の質問に答えていることを覚えておいてください。そうした人々はあなたのコード提案の理由を知らないかもしれません。 –

+0

答えに感謝しますが、私の主な質問は 'column1'、' column2'を書くのを避ける方法です...私は100個以上の列がある場合、このコードを使用します。 –

+0

@MpizosDimitris私の更新された答えを確認する –

関連する問題