【发布时间】:2021-04-15 19:59:51
【问题描述】:
我有一个巨大的标题列表。我想计算整个数据集中的每个标题。例如:
`title`
A
b
A
c
c
c
输出:
title fre
A 2
b 1
c 3
【问题讨论】:
我有一个巨大的标题列表。我想计算整个数据集中的每个标题。例如:
`title`
A
b
A
c
c
c
输出:
title fre
A 2
b 1
c 3
【问题讨论】:
你可以这样做
import pandas as pd
title=["A","b","A","c","c","c"]
pd.Series(title).value_counts()
【讨论】:
你可以只groupBytitle然后count:
import pyspark.sql.functions as f
df.groupBy('title').agg(f.count('*').alias('count')).show()
+-----+-----+
|title|count|
+-----+-----+
| A| 2|
| c| 3|
| b| 1|
+-----+-----+
或者更简洁:
df.groupBy('title').count().show()
+-----+-----+
|title|count|
+-----+-----+
| A| 2|
| c| 3|
| b| 1|
+-----+-----+
【讨论】:
.orderBy('count'),然后.head(n)最不频繁,.tail(n)最频繁。