当前位置: 首页 > 知识库问答 >
问题:

PySpark:用Dinax名称求和更多列

葛和志
2023-03-14

我有这样的DF:

+------+------+--------------+---------------+--------------+---------------+--------------+

|  A .....|.. B ..|2019-01-31|2019-02-28|2019-03-31|2019-04-30|2019-05-31|

+------+------+--------------+---------------+--------------+---------------+--------------+

|11125 |SL15|  15.0    |   12.0   |    1.0   |    0.0   |    0.0   |

|20047 |SL20|   7.0    |   13.0   |    1.0   |    0.0   |    0.0   |

|35858 |SL25|   8.0    |    0.0   |    1.0   |    0.0   |    0.0   |

我正在创建一个计算字段,如新字段,它将第3列和第7列(5个月)相加。我的问题是列具有动态名称。本月的列名与下个月不同,但始终位于准确的位置。(确保流动,必须位于位置3的正确列下个月将位于位置3,只有名称正在更改)。

这意味着每个月我都会对3到7列进行汇总。

例如,如果我分配第一个变量,如colH1=F.col(“2019-01-31”)和第二个变量,即colH2=F.col(2019-02-28”),我可以在它们之间进行数学运算
新计算列如下:df=df。withColumn('new_column',((colH1)(colH2)))

需要更改的是colH1=F.col(“2019-01-31”)的指定(“2019年01月31日”)是本月DF中位置3的列的固定名称,但名称将在下个月更改。我需要计算“位置3”。

我不能使用df.select,因为这个操作只选择了确切的列,但是我不能将它连接回原来的DF——没有用于连接的唯一键

我希望,这解释了我的需求,但没有找到解决这种情况的办法。

共有1个答案

隗驰
2023-03-14

根据列索引获取列名并存储为变量。您可以通过下面的代码获得基于列索引的列名。

df.columns(索引)

在下面的代码中传递变量。

df=df。withColumn('new_column',((var1)(var2))

 类似资料:
  • 在使用python和pyspark开发数据管道时,我面临以下错误。 PS C:\用户\文件夹\文档\文件夹\项目\code\etl-gd\src\作业\更大数据 代码非常简单,只需尝试一下: Java、spark、python和pyspark的正确安装如下: 提前感谢您的帮助。

  • 我需要将“+/-”列名折叠为一个列名并添加计数。下面是数据集的一个示例。 我想将那些-/+col名称折叠为no sign列名并将其相加。 有什么想法吗?

  • @PayloadRoot(命名空间=”http://munis.ws.uz/“,localPart=“CheckPaymentRequest”)@ResponsePayload public CheckPaymentResponse processCheckPaymentRequest(@RequestPayment@WebParam(name=“checkPayment”)CheckPaymen

  • 下面有一个类似的问题: 一个Spring的Kafka消费者听众能听多个话题吗? 现在我明白了,我可以为KafkaListener注释的topics参数提供一个字符串数组,但是我想知道以下几点: 如何从属性文件中获取主题名称作为字符串数组? 从多个主题中读取如何影响偏移?客户(SpringKafka)会保持每个主题的补偿吗?

  • 问题内容: 我可以从以下位置映射Laravel的时间戳: 到和? 到和? 我正在将Wordpress应用程序迁移到Laravel。 我正在使用Laravel访问Wordpress数据库的副本。数据库的实时版本仍在使用中,因此我不想更改架构。 该帖子表有,,和,但Laravel期待和。 无论如何,有没有要更改Laravel查找的列名? 我希望Laravel更新所有已经存在的列的时间戳。 问题答案:

  • 我发送一个POST请求,从一家运输公司生成AWB。为了做到这一点,我必须通过SOAP API POST请求发布多个数据条目。下面的XML是类似的,这是必需的(我已经简化了,否则它要求超过30个参数) 我是SOAP新手,请帮助我朝着正确的方向前进,我甚至非常感谢上面的XML代码,因为它有助于更好地理解。