pyspark 数据框中的自定义排序

2024-05-21

是否有推荐的方法在 pyspark 中实现分类数据的自定义排序?我理想地寻找 pandas 分类数据类型提供的功能。

因此,给定一个数据集Speed列,可能的选项是["Super Fast", "Fast", "Medium", "Slow"]。我想实现适合上下文的自定义排序。

如果我使用默认排序,类别将按字母顺序排序。 Pandas 允许将列数据类型更改为绝对的定义的一部分给出了自定义排序顺序:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Categorical.html https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Categorical.html


您可以使用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)
           )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pyspark 数据框中的自定义排序 的相关文章

  • Django管理命令是在单独的进程中执行的吗?

    Django 有很多管理命令 此外 我们还可以编写自己的命令 进行 shell 调用后会发生什么python manage py XXX 代码是否会在从 shell 启动的进程中执行 或者 shell 进程只是与执行命令的主 Django
  • 有没有办法拥有租户特定的 JWT 令牌

    我目前正在开发一个 SPA 应用程序 角度 后端使用 Python Flask API 该应用程序将支持多个租户 我对安全概念有点挣扎 我目前正在使用 jwt extend 颁发的 JWT 令牌对所有租户都有效 我当然可以从令牌中获取用户
  • 代码运行时出现内存问题(Python、Networkx)

    我编写了一个代码来生成具有 379613734 条边的图 但由于内存问题 代码无法完成 当经过 6200 万行时 大约会占用服务器内存的 97 所以我杀了它 您有解决这个问题的想法吗 我的代码是这样的 import os sys impor
  • 使用Python选择屏幕区域

    我正在用 Python 开发一个屏幕截图实用程序 目前它是专门针对 Linux 的 到目前为止 我已经能够拍摄完整桌面的屏幕截图 并将其上传到 Imgur 然后将链接复制到剪贴板 现在我想扩展到诸如活动窗口或特定选择的屏幕截图之类的功能 如
  • 我应该将Python的pyc文件添加到.dockerignore吗?

    我见过几个例子 dockerignorePython 项目的文件 其中 pyc文件和 或 pycache 文件夹被忽略 pycache pyc 由于无论如何这些文件 文件夹都会在容器中重新创建 我想知道这样做是否是一个好习惯 是的 这是一个
  • Python 2.7从非默认目录打开多个文件(对于opencv)

    我在 64 位 win7 上使用 python 2 7 并拥有 opencv 2 4 x 当我写 cv2 imread pic 时 它会在我的默认 python 路径中打开 pic 即C Users Myname 但是我如何设法浏览不同的目
  • 字典键中的通配符

    假设我有一本字典 rank dict V 1 A 2 V 3 A 4 正如您所看到的 我在一个 V 的末尾添加了一个 虽然 3 可能只是 V 的值 但我想要 V1 V2 V2234432 等的另一个密钥 我想检查它 checker V30
  • 使用 ruamel.yaml,如何使带有 NEWLINE 的变量成为不带引号的多行

    我正在生成用作协议的 YAML 其中包含一些生成的 JSON import json from ruamel import yaml jsonsample id 123 type customer account other myyamel
  • Spark 执行器登录 YARN

    我正在 Cloudera 集群上以 YARN 客户端模式启动分布式 Spark 应用程序 一段时间后 我在 Cloudera Manager 上看到一些错误 一些执行者会断开连接 并且这种情况会系统性地发生 我想调试该问题 但 YARN 未
  • While 在范围内循环用户输入

    我有一些代码 我想要求用户输入 1 100 之间的数字 如果他们在这些数字之间输入一个数字 它将打印 Size input 并打破循环 但是 如果他们在外部输入一个数字1 100 它将打印 大小 输入 并继续向他们重新询问一个数字 但我遇到
  • python 从字典中获取唯一值

    我想从我的字典中获取唯一的值 Input 320 167 316 0 319 167 401 167 319 168 380 167 265 166 期望的输出 167 0 168 166 我的代码 unique values sorted
  • python 3 configparser.read() 在给定不存在的文件时不会引发异常

    当我尝试使用 configparser read 读取不存在的文件时 我认为它应该引发异常 事实并非如此 它返回一个空列表 显然 我可以测试空列表并引发异常 在我看来 如果 configparser read 引发 FileNotFound
  • Python - 根据条件调用函数

    我想知道是否有一种简洁的方法来根据条件调用函数 我有这个 if list 1 some dataframe df myfunction 我想知道这是否有可能三元运算符 http book pythontips com en latest t
  • 使用 pandas/beautiful soup 抓取表数据(而不是慢的 Selenium?),BS 实现不起作用

    我正在尝试抓取该网站上的网络数据 而我能够访问数据的唯一方法是迭代表的行 将它们添加到列表中 然后将它们添加到 pandas 数据框 写入csv 然后单击下一页并重复该过程 每次搜索大约 50 页 我的程序执行 100 多个搜索 它非常慢
  • 如何导入 boto3 ssm ParameterNotFound 异常?

    我想import the exception当一个boto3 ssm找不到参数get parameter 我正在尝试添加一些额外的内容ssm的功能moto图书馆 但我现在很困惑 gt gt gt import boto3 gt gt gt
  • 在 pandas DataFrame 中使用比较列表的问题

    我在 pandas 中有一个 DataFrame 其列类型之一是 int 上的列表 如下所示 df pandas DataFrame 1 2 3 4 5 6 7 8 9 10 columns a b c d gt gt gt df a b
  • Pyspark:相当于 np.where [重复]

    这个问题在这里已经有答案了 这个操作在 Pyspark 中相当于什么 import pandas as pd import numpy as np df pd DataFrame Type list ABBC Set list ZZXY d
  • Python 3d 金字塔

    我是 3D 绘图新手 我只想用 5 个点建造一个金字塔并通过它切出一个平面 我的问题是我不知道如何填充两侧 points np array 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 fig plt figure ax fi
  • Python DNS服务器IP地址查询

    我正在尝试使用 python 获取 DNS 服务器 IP 地址 要在 Windows 命令提示符下执行此操作 我将使用 ipconfig 全部 如下所示 我想使用 python 脚本做同样的事情 有什么方法可以提取这些值吗 我成功提取了设备
  • 如何将 pygame Surface 转换为 PIL 图像?

    我正在使用 PIL 来透视地变换屏幕的一部分 原始图像数据是一个 pygame Surface 需要转换为 PIL 图像 因此我发现了 pygame 的 tostring 函数就是为了这个目的而存在的 然而结果看起来很奇怪 见附图 这段代码

随机推荐

  • 无法使用 Git 部署从多项目解决方案部署正确的网站到 Azure

    我有一个解决方案 它有一个 mvc 网站 WebApplication1 该网站依赖于解决方案中的另一个项目 WebAppCore 源代码托管在 Visual Studio Online 上的 git 中 我配置了持续集成 一切都构建得很好
  • 使用 SendKeys 向 IE 11 发送“@”特殊字符

    我正在尝试使用 Internet Explorer 11 中的 SendKeys 方法将特殊字符发送到文本框 尝试在其他浏览器中发送特殊字符时我没有遇到此问题 但 Internet Explorer 在尝试发送时发送完全不同的字符特殊字符
  • 检查 Python 中的可迭代对象中的所有元素的谓词是否计算为 true

    我很确定有一个常见的习语 但我无法通过谷歌搜索找到它 这是我想做的 用Java Applies the predicate to all elements of the iterable and returns true if all ev
  • EAR 和 WAR 类加载器

    我对 JBoss 类加载器很困惑 任何人都可以详细描述类加载器的工作原理吗 我只需要做一件事 如果 WAR 没有找到具有自己的类加载器的类 他会将搜索委托给其父类加载器 该父类加载器必须是 EAR 的 针对上述情况 我的申请需要进行哪些更改
  • 在 R 中显示变量的精确值

    gt x lt 1 00042589212565 gt x 1 1 000426 如果我想打印的确切值x 我该怎么办呢 抱歉 如果这是一个愚蠢的问题 我尝试在谷歌上搜索 R 和 精确 或 圆形 但我得到的只是有关如何舍入的文章 先感谢您 所
  • 为什么我的 @OneToMany 属性出现主键违规?

    我有一个实体 Entity public class Student GeneratedValue strategy GenerationType AUTO Id private long id OneToMany private Set
  • 删除 Django 1.7 中的应用程序(和关联的数据库表)

    是否可以使用 Django 1 7 迁移来完全删除 卸载应用程序及其所有跟踪 主要是其所有数据库表 如果没有 在 Django 1 7 中执行此操作的适当方法是什么 python manage py migrate
  • 使用控制台记录器的控制台应用程序不会写入最终消息。轻松重现

    Windows 上使用 LoggerFactory 的 net 6 控制台应用程序 最终消息不会出现在控制台上 loggerFactory Dispose 没有帮助 Ilogger 没有 Dispose 方法 这是一个复制品 大约会出现 2
  • Android BLE 扫描在后台几分钟后停止

    当我为公司开发新冠肺炎接触者追踪应用程序时 我在后台遇到了 Android 扫描停止问题 这是我尝试过的 添加前台服务 禁用手机中所有与电池相关的优化选项 启用后台运行的应用程序 测试设备 搭载 Android 10 的 Galaxy S2
  • 在两次之间每分钟执行一次 Cronjob

    我需要在 crontab 中每分钟运行一个 bash 脚本8 45am and 9 50am每天的 Code 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 8 home pull sh gt ho
  • Typescript 函数返回类型取决于参数的数量或类型

    假设我有一个函数 它应该根据参数的数量和类型返回不同的类型 我该如何在 TypeScript 中描述这一点 function foo t number string function foo t number s string boolea
  • 在 BIRT 中输入参数后更新数据集查询

    在 BIRT 报告设计中传递参数后 如何更改或更新数据集的查询 详细说明 我有一个如下所示的查询 WHERE 该参数标记可以保存不同的值 在用户输入参数后 它看起来像这样 例如 WHERE column name 1 or WHERE co
  • 如何在Python中同时运行两只乌龟?

    我试图让两只乌龟一起移动 而不是一只接着另一只移动 例如 a turtle Turtle b turtle Turtle a forward 100 b forward 100 但这只能让他们一前一后地移动 有没有办法让它们同时移动 有没有
  • jQuery .val() 返回单选按钮的未定义

    我正在尝试获取 jQuery 中选中的单选按钮值 但它返回的值是 未定义 我搜索了这个问题的解决方案 但对我来说没有任何作用 我的 HTML 代码
  • 将 jquery-mobile 与 Webpack 结合使用

    我正在尝试使用 webpack 加载 jquery mobile 但到目前为止还没有运气 我知道 jquery mobile 依赖于 jquery ui 而 jquery ui 又依赖于 jquery 如何在 Webpack 中设置这样的场
  • 协调多个依赖的 Mercurial 存储库版本的推荐方法?

    好吧 经过几个小时的阅读和反复试验 它终于击中了我 Mercurial 并不真正想做 SubRepos 至少不想与 TortoiseHg 和 Bitbucket 一起使用 如果我错了 并且您不希望对类似于 当然它有效 您没有阅读官方文档吗
  • Python 2.7 中的断言对我来说不起作用示例assertIn

    我的 Mac 上安装了 python 2 7 通过在终端中运行 python v 进行验证 当我尝试使用任何新的 2 7 断言方法时 我收到 AtributeError 我看过http docs python org 2 library u
  • Rails - 连接多个表

    我有以下型号 class Company lt ActiveRecord Base has many price movements has many goods movements end class PriceMovement lt A
  • PHP函数返回值到html标签

    我想获取函数的返回值并将其显示到特定的id 在我的 Class php 中 我有一个名为 login 的函数 用于验证密码是否正确 不正确
  • pyspark 数据框中的自定义排序

    是否有推荐的方法在 pyspark 中实现分类数据的自定义排序 我理想地寻找 pandas 分类数据类型提供的功能 因此 给定一个数据集Speed列 可能的选项是 Super Fast Fast Medium Slow 我想实现适合上下文的