簡體   English   中英

計算一個 PySpark DataFrame 列的眾數?

[英]Calculate the mode of a PySpark DataFrame column?

最終我想要的是一個列的模式,對於 DataFrame 中的所有列。 對於其他摘要統計信息,我看到了幾個選項:使用 DataFrame 聚合,或 map DataFrame 的列到向量的 RDD(我在colStats中也遇到了麻煩)。 但我不認為模式是一種選擇。

最終,我想要的是DataFrame中所有列的列模式。 對於其他摘要統計信息,我看到了兩個選擇:使用DataFrame聚合,或將DataFrame的列映射到矢量的RDD(這也是我遇到的麻煩),並使用colStats的colStats。 但是我不認為模式是一種選擇。

最終,我想要的是DataFrame中所有列的列模式。 對於其他摘要統計信息,我看到了兩個選擇:使用DataFrame聚合,或將DataFrame的列映射到矢量的RDD(這也是我遇到的麻煩),並使用colStats的colStats。 但是我不認為模式是一種選擇。

最終,我想要的是DataFrame中所有列的列模式。 對於其他摘要統計信息,我看到了兩個選擇:使用DataFrame聚合,或將DataFrame的列映射到矢量的RDD(這也是我遇到的麻煩),並使用colStats的colStats。 但是我不認為模式是一種選擇。

最終,我想要的是DataFrame中所有列的列模式。 對於其他摘要統計信息,我看到了兩個選擇:使用DataFrame聚合,或將DataFrame的列映射到矢量的RDD(這也是我遇到的麻煩),並使用colStats的colStats。 但是我不認為模式是一種選擇。

最終,我想要的是DataFrame中所有列的列模式。 對於其他摘要統計信息,我看到了兩個選擇:使用DataFrame聚合,或將DataFrame的列映射到矢量的RDD(這也是我遇到的麻煩),並使用colStats的colStats。 但是我不認為模式是一種選擇。

首先按count按列分組(我沒有計算null值),得到最大計數值(頻繁值)。 二、尋找最大計數值的key:

from pysprak.sql import functions as F

count_mode_val = df.groupBy("column_name").count().filter(F.col("column_name").isNotNull()).agg(F.max("count")).collect()[0][0]

mode_val = df.groupBy("column_name").count().filter(F.col("column_name").isNotNull()).filter(F.col("count") == count_mode_val).select("column_name").collect()[0][0]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM