0
私は以下の簡単なプログラムを持っていますが、Scalaの配列内で値を読み取る方法はわかりません。ScalaのWrappedArrayからデータを取得
val all_marks = Result.groupBy("class", "school").agg(collect_list("mark") as "marks",count("*") as "cnt").where($"cnt" > 10)
var mrk=all_marks.collect().map(mark=>""+mark(2))
結果は次のように見える:
mrk: Array[String] = Array(WrappedArray(52.0, 18.0, 17.0, 36.0, 22.0, 22.0), WrappedArray(49.0, 53.0, 41.0, 30.0, 48.0, 36.0))
Iがそれぞれ各WrappedArrayにおける各マークに関するさらなる数学的な計算のために、別々WrappedArrayを読み取る(MRK)の配列を反復する必要があります。簡単な方法で各WrappedArrayを読み込む方法。
あなたは 'mrk.foreach'を使用してみましたを定義しますか?また、 '.map(mark => mark(2).toString)'も参照してください。 – philantrovert
私は(e < - mrk){val d = e.toDouble}を試しました。しかし、 "java.lang.NumberFormatExceptionのエラーが発生しました:入力文字列:" WrappedArray " –
はい私は(mark => mark(2).toString).mapを試しましたが、このメソッドはマークをdoubleに変更しません –