pyspark 데이터 프레임에 고유 한 열 값 표시 : python
Pandas에 대한 pyspark 데이터 프레임 대안을 제안하십시오 df['col'].unique()
.
pyspark 데이터 프레임 열의 모든 값을 제공하고 싶습니다.
SQL 고유 방식이 아닙니다 (registertemplate 다음 값에 대한 SQL 쿼리).
또한 필요하지 않습니다 groupby->countDistinct
. 대신 해당 열에서 고유 한 값을 확인하고 싶습니다.
다음과 같은 데이터 표현됨 작업 가정 해 보겠습니다 (2 개의 열 k
및 v
, 여기 k
에는 3 개의 항목, 2 개의 고유 한 항목이 포함).
+---+---+
| k| v|
+---+---+
|foo| 1|
|bar| 2|
|foo| 3|
+---+---+
Pandas 데이터 프레임 사용 :
import pandas as pd
p_df = pd.DataFrame([("foo", 1), ("bar", 2), ("foo", 3)], columns=("k", "v"))
p_df['k'].unique()
이것은 ndarray
, 즉array(['foo', 'bar'], dtype=object)
"pandas df [ 'col']. unique ()"에 대한 pyspark 데이터 프레임 대안을 요청했습니다. 이제 다음 Spark 데이터 프레임이 제공됩니다.
s_df = sqlContext.createDataFrame([("foo", 1), ("bar", 2), ("foo", 3)], ('k', 'v'))
Spark 에서 동일한 결과, 즉를 ndarray
사용하신 toPandas()
다음을 사용하십시오 .
s_df.toPandas()['k'].unique()
또는 ndarray
특별한 필요하지 않고 열의 고유 값 목록이 필요한 경우 k
:
s_df.select('k').distinct().rdd.map(lambda r: r[0]).collect()
마지막으로 다음과 같이 목록 이해를 사용할 수도 있습니다.
[i.k for i in s_df.select('k').distinct().collect()]
이렇게하면 열의 고유 한 값을 얻는 데 도움이됩니다.
df.select('column1').distinct().show()
df.dropDuplicates(['col1','col2'])
배열의 colX를 기반으로 고유 한 행만 가져 오기를 사용할 수 있습니다 .
collect_set은 주어진 열에서 고유 한 값을 얻을 수있는 데 도움이 될 수 있습니다. pyspark.sql.DataFrame df.select(F.collect_set("column").alias("column")).first()["column"]
참고 URL : https://stackoverflow.com/questions/39383557/show-distinct-column-values-in-pyspark-dataframe-python
'ProgramingTip' 카테고리의 다른 글
C ++에서 std :: 벡터 확인 (0) | 2020.11.22 |
---|---|
iOS에서 사용자 지정 UIActivity를 생성해야합니까? (0) | 2020.11.22 |
Emacs에서 한 번에 여러 줄 편집 (0) | 2020.11.22 |
이클립스 : 숨겨진 문자가 있습니다. 이제 끌 수 없습니다. (0) | 2020.11.22 |
파이썬의 날짜에서 날짜 추출 (0) | 2020.11.22 |