Dav*_*eed 7 python pandas apache-spark apache-spark-sql pyspark
是否有推荐的方法在 pyspark 中实现分类数据的自定义排序?我理想地寻找 pandas 分类数据类型提供的功能。
因此,给定一个带有Speed列的数据集,可能的选项是["Super Fast", "Fast", "Medium", "Slow"]。我想实现适合上下文的自定义排序。
如果我使用默认排序,类别将按字母顺序排序。Pandas 允许将列数据类型更改为分类,并且定义的一部分给出了自定义排序顺序:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Categorical.html
bla*_*hop 12
您可以使用orderBy并定义您的自定义排序when:
from pyspark.sql.functions import col, when
df.orderBy(when(col("Speed") == "Super Fast", 1)
.when(col("Speed") == "Fast", 2)
.when(col("Speed") == "Medium", 3)
.when(col("Speed") == "Slow", 4)
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4461 次 |
| 最近记录: |