나는 것처럼 액세스를 최소 및 최대의 특정 란에서 내 데이터 프레임지만 나는't 헤더의 열,단지의 숫자,그래서 나는 내가 스칼라를 사용하여?
어쩌면 뭔가 다음과 같다:
val q = nextInt(ncol) //we pick a random value for a column number
col = df(q)
val minimum = col.min()
죄송하는 경우 이 같은 소리는 바보 같은 질문을 하지만 난 그러지'해 정보에 그래서 이런 질문에 대한:/
는 방법에 대해 점점에서 열 이름을 메타데이터:
val selectedColumnName = df.columns(q) //pull the (q + 1)th column from the columns array
df.agg(min(selectedColumnName), max(selectedColumnName))
당신이 사용할 수 있습의 열 번호를 추출하는 첫 번째 열 이름(인덱싱하여`df.열),다음의 집계를 사용하여 열 이름:
val df = Seq((2.0, 2.1), (1.2, 1.4)).toDF("A", "B")
// df: org.apache.spark.sql.DataFrame = [A: double, B: double]
df.agg(max(df(df.columns(1))), min(df(df.columns(1)))).show
+------+------+
|max(B)|min(B)|
+------+------+
| 2.1| 1.4|
+------+------+
여기에는 직접적인 방법을 최소 및 최대서 데이터 프레임으로 열 이름:
val df = Seq((1, 2), (3, 4), (5, 6)).toDF("A", "B")
df.show()
/*
+---+---+
| A| B|
+---+---+
| 1| 2|
| 3| 4|
| 5| 6|
+---+---+
*/
df.agg(min("A"), max("A")).show()
/*
+------+------+
|min(A)|max(A)|
+------+------+
| 1| 5|
+------+------+
*/
을 얻고 싶은 경우에는 최소값과 최대값으로 별도의 변수,그 후로 변환할 수 있는 결과의처럼 도시()
위로행
과사용 행이 있습니다.getInt(index)
에 열의 값을행
.
val min_max = df.agg(min("A"), max("A")).head()
// min_max: org.apache.spark.sql.Row = [1,5]
val col_min = min_max.getInt(0)
// col_min: Int = 1
val col_max = min_max.getInt(1)
// col_max: Int = 5