PySpark:如何转置数据框中的多列

2023-12-02

我是 Spark 新手,需要帮助将以下输入数据帧转换为所需的输出df(行到列)使用 PySpark 或 Spark Sql。

输入数据框-

A    B    C   D

1    2    3   4

10   11   12  13
......
........

所需的输出(转置)数据

A  1

B  2

C  3

D  4

A  11

B  12

C  13

D  14

....
......

如果我可以根据我们的要求旋转输入数据(列),那就更好了。


Use stack火花中的功能。

Example:

df.show()
#+---+---+---+---+
#|  A|  B|  C|  D|
#+---+---+---+---+
#|  1|  2|  3|  4|
#| 10| 11| 12| 13|
#+---+---+---+---+

from pyspark.sql.functions import *

df.selectExpr("stack(4,'A',A,'B',B,'C',C,'D',D) as (key,value)").show()
#+---+-----+
#|key|value|
#+---+-----+
#|  A|    1|
#|  B|    2|
#|  C|    3|
#|  D|    4|
#|  A|   10|
#|  B|   11|
#|  C|   12|
#|  D|   13|
#+---+-----+
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PySpark:如何转置数据框中的多列 的相关文章

  • 无法在 Windows 10 中启动 Spark Master

    我是 Spark 新手 我正在尝试手动启动 master 在 Windows 10 中使用 MINGW64 当我这样做时 Downloads spark 1 5 1 bin hadoop2 4 spark 1 5 1 bin hadoop2
  • 将 Apache Zeppelin 连接到 Hive

    我尝试将我的 apache zeppelin 与我的 hive 元存储连接起来 我使用 zeppelin 0 7 3 所以没有 hive 解释器 只有 jdbc 我已将 hive site xml 复制到 zeppelin conf 文件夹
  • 在 Spark 2.4 上的 pyspark.sql.functions.max().over(window) 上使用 .where() 会引发 Java 异常

    我关注了一个帖子堆栈溢出 https stackoverflow com questions 48829993 groupby column and filter rows with maximum value in pyspark 488
  • 使用 pyspark awsglue 时显示 DataFrame

    如何使用 awsglue 的 job etl 显示 DataFrame 我尝试了下面的代码 但没有显示任何内容 df show code datasource0 glueContext create dynamic frame from c
  • Spark SQL/Hive 查询通过 Join 永远持续下去

    所以我正在做一些应该很简单的事情 但显然它不在 Spark SQL 中 如果我在 MySQL 中运行以下查询 查询将在不到一秒的时间内完成 SELECT ua address id FROM user u inner join user a
  • 创建涉及 ArrayType 的 Pyspark 架构

    我正在尝试为我的新 DataFrame 创建一个架构 并尝试了括号和关键字的各种组合 但无法弄清楚如何完成这项工作 我目前的尝试 from pyspark sql types import schema StructType StructF
  • 为什么 Spark 退出并显示 exitCode: 16?

    我将 Spark 2 0 0 与 Hadoop 2 7 一起使用 并使用纱线集群模式 每次 我都会收到以下错误 17 01 04 11 18 04 INFO spark SparkContext Successfully stopped S
  • 如何在每行中添加行号?

    假设这些是我的数据 Maps and Reduces are two phases of solving a query in HDFS Map is responsible to read data from input location
  • Spark scala:大量列上的简单 UDF 会导致性能下降

    我有一个包含 1 亿行和约 10 000 列的数据框 这些列有两种类型 标准 C i 和动态 X i 这个dataframe是经过一些处理后得到的 性能很快 现在只剩下2步了 Goal 需要使用 C i 列的相同子集对每个 X i 执行特定
  • Spark Dataframe 中的分析

    在这个问题中 我们有两个经理 M1 和 M2 在经理 M1 的团队中有两个员工 e1 和 e2 在 M2 的团队中有两个员工 e4 和 e5 以下是经理和员工的层次结构 1 M1 a e1 b e2 2 M2 a e4 b e5 我们有以下
  • Pyspark - 一次聚合数据帧的所有列[重复]

    这个问题在这里已经有答案了 我想将数据框分组到单个列上 然后对所有列应用聚合函数 例如 我有一个包含 10 列的 df 我希望对第一列 1 进行分组 然后对所有剩余列 均为数字 应用聚合函数 sum 与此等效的 R 是 summarise
  • Spark 和 Scala 中的文本操作

    这是我的数据 review text The product picture and part number match but they together do not math the description review text A
  • 在 pyspark 中包装 java 函数

    我正在尝试创建一个用户定义的聚合函数 我可以从 python 调用它 我试图遵循答案this https stackoverflow com questions 33233737 spark how to map python with s
  • 如何从 Spark 数据框中删除重复项,同时保留最新数据?

    我正在使用 Spark 从 Amazon S3 加载 json 文件 我想根据保留最新数据帧的两列删除重复项 我有时间戳列 最好的方法是什么 请注意 重复项可能分布在多个分区中 我可以在不打乱的情况下删除保留最后一条记录的重复项吗 我正在处
  • 如何在 PySpark 中使用 foreach 或 foreachBatch 写入数据库?

    我想使用 Python PySpark 从 Kafka 源到 MariaDB 进行 Spark 结构化流处理 Spark 2 4 x 我想使用流式 Spark 数据帧 而不是静态数据帧或 Pandas 数据帧 看来必须要用foreach o
  • 如何找到两个数据帧之间的精确和非精确匹配?

    我有两个数据框 df1 id amount fee 1 10 00 5 0 2 20 0 3 0 3 90 130 0 4 120 0 35 0 df2 exId exAmount exFee 1 10 00 5 0 2 20 0 3 0
  • 尝试从 Spark 连接到 Oracle

    我正在尝试将 Oracle 连接到 Spark 并希望从某些表和 SQL 查询中提取数据 但我无法连接到 Oracle 我尝试过不同的解决方案 但没有看到 我已按照以下步骤操作 如果我需要进行任何更改 请纠正我 我使用的是 Windows
  • Spark DataFrame 不尊重架构并将所有内容视为字符串

    我面临着一个多年来一直无法克服的问题 我使用的是 Spark 1 4 和 Scala 2 10 我现在无法升级 大型分布式基础设施 我有一个包含几百列的文件 其中只有 2 列是字符串 其余都是长列 我想将此数据转换为标签 特征数据框 我已经
  • 具有定期更新的静态数据集的结构化流

    将流媒体与静态数据集合并是结构化流媒体的一个重要功能 但在每个批次中 数据集都会从数据源刷新 由于这些源并不总是那么动态 因此在指定的时间段 或批次数 内缓存静态数据集会提高性能 在指定的时间段 批次数之后 将从源重新加载数据集 否则从缓存
  • 如何强制 Spark 执行代码?

    我如何强制 Spark 执行对 map 的调用 即使它认为由于其惰性求值而不需要执行它 我试过把cache 与地图调用 但这仍然没有解决问题 我的地图方法实际上将结果上传到 HDFS 所以 它并非无用 但 Spark 认为它是无用的 简短回

随机推荐

  • Gradle 测试依赖性

    我有两个项目 项目 A 和项目 B 两者都是用 groovy 编写的 并使用 gradle 作为构建系统 项目 A 需要项目 B 这对于编译和测试代码都适用 如何配置项目A的测试类可以访问项目B的测试类 您可以通过 测试 配置公开测试类 然
  • 如何更改 ES6 箭头函数“this”指向的内容?

    In the traversenpm 包中有这个例子 var obj 5 6 3 7 8 2 1 f 10 g 13 traverse obj forEach function x if x lt 0 this update x 128 您
  • 使用php剪切flv视频

    我正在尝试提供 30 秒优质视频的预览 用户必须付费才能完整观看 所以我想在上传这些视频时创建一个30秒的视频文件 我如下使用 ffmpeg 但它不起作用 ffmpeg ss 00 00 00 0 t 00 00 30 0 i input
  • 子父事务回滚

    我有一个场景 我必须处理多个 sQL文件 每个文件包含 3 4 个插入或更新查询 现在当文件中的任何查询失败时我会这样做rollback整个事务意味着我们将回滚整个文件 并且在提交该文件之前执行的所有其他文件将被提交 我想要一个选项 用户可
  • 将缺失/非缺失值更改为二进制 (0/1)

    我的数据集是 df data frame x c 1 4 6 NA 7 NA 9 10 4 NA y c 10 12 NA NA 14 18 20 15 12 17 z c 225 198 NA NA NA 130 NA 200 NA 99
  • CMake 生成 makefile 的速度很慢

    当我运行 CMake 来构建忒伊亚图书馆使用 CMake 生成 makefile 非常慢 轻松需要 1 2 分钟 该项目本身有很多源文件 但我想知道是否有一种方法可以加快 makefile 的生成速度 有任何想法吗 None
  • 如何在没有控制台/本机应用程序交互式登录屏幕的情况下为 Graph API 生成 Azure Active Directory (AAD) 身份验证令牌?

    如何在没有控制台 本机应用程序交互式登录屏幕的情况下为 Graph API 生成 Azure Active Directory AAD 身份验证令牌 细节 我正在使用 Graph API 通过具有 委派 权限的 Azure Active D
  • R 中两个日期之间的总和/计数

    我有一个包含两列的数据框 一列是开始日期 另一列是结束日期 我需要获取一个包含两列的新数据框 一个是 日期 列 另一列是第一个数据框中的观察值计数 其中日期位于 开始 和 结束 之间 Have dates lt data frame Sta
  • Kendo ui 选择器 CSS 问题

    我正在使用 kendo ui 下拉列表和其他一些选择器 我想设置所选项目背景颜色的样式 我尝试过 k dropdown k state selected background color red 但所选项目的颜色没有改变 它仅设置为默认橙色
  • 使用 Application Insights 检测 Windows 服务

    是否可以使用 Application Insights 检测本地运行的 Windows 服务 没有必要像 Web 应用程序那样自动收集应用程序的指标 将自定义事件推送到 Azure 就足够了 我会让文档对此更加清楚 如果有一个核心 SDK
  • 我如何在android中设置自定义日期

    如何将日期设置为当年 25 12 12 月 例如 我正在使用这个代码 public static Calendar defaultCalendar Calendar currentDate Calendar getInstance curr
  • 以编程方式声明任意等级的数组

    在 C 中 数组分为三种类型 一维数组 锯齿形数组和多维矩形数组 问题是 给定一个特定大小的数组 我们如何创建一个具有相同维度和秩的新数组 对于多维矩形数组 似乎没有语法可以在运行时定义大小和等级 维数 C 在索引器中声明带有逗号的多维数组
  • 合并两个数组,同时保留原始数组顺序

    我正在编写一个从外部源 Twitter 请求数据的应用程序 该数据按时间顺序作为有序数组返回 外部阵列 项目 A 最新 Item B Item C 项目 D 最旧的 我将这些项目添加到另一个保留相同顺序的数组中 My array 项目 A
  • Thread.Abort 和替代方案

    这更多是出于个人好奇 兴趣 而不是我试图解决的特定问题 假设您有一个程序正在对用户提供的信息 例如搜索字符串 执行某些操作 这些信息会随着用户键入而更改 假设您想要向用户显示与他们在任何给定时间键入的内容最相关的信息 如果线程确实可以中止
  • PHP 中内爆二维数组

    我有一个像这样的数组 Array 0 gt Array 0 gt a 1 gt b 1 gt Array 0 gt c 2 gt Array 0 gt d 1 gt e 2 gt f 我想将数组转换为如下所示的字符串 arrtostr a
  • Spring Boot 项目设置设计决策

    我们将使用 Spring Boot 来创建服务 我们最初的想法是每个服务 不一定是微服务 都是独立的 并部署为 jar 文件 用于构建的 Maven 我想知道什么是一个好的 Spring Boot 项目结构 因为每个服务都是独立的 但我猜测
  • MS Exchange 服务器的 Grails 邮件插件配置

    我可以使用我的 gmail 帐户从我的 grails 应用程序发送电子邮件 但是当我使用 MS Exchange 服务器帐户时 我收到此错误 Message Mail server connection failed nested exce
  • 如果再次调用函数,则取消超时/计时器 --- debounce 函数

    我想创建一个启动超时的函数 但如果在计时器结束之前再次调用该函数 请取消原始调用并再次启动计时器 我想我可以这样做 function setTimer setTimeout gt do something 3000 但这不起作用 每次我运行
  • Ruby Regex 用于捕获两个字符串之间的所有内容(包括)

    我正在尝试清理一些 HTML 并仅删除一个标签 我真的很想避免使用 nokogiri 等 所以我出现了以下字符串 我想删除它 div class lt div gt m这有效 但它也会匹配并包括任何进一步的 div 文档中的标签 这是我不想
  • PySpark:如何转置数据框中的多列

    我是 Spark 新手 需要帮助将以下输入数据帧转换为所需的输出df 行到列 使用 PySpark 或 Spark Sql 输入数据框 A B C D 1 2 3 4 10 11 12 13 所需的输出 转置 数据 A 1 B 2 C 3