Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用负索引从火花放电字符串列的最后一个索引中提取多个字符

使用负索引从火花放电字符串列的最后一个索引中提取多个字符
EN

Stack Overflow用户
提问于 2018-04-12 01:53:19
回答 2查看 25.2K关注 0票数 7

与:Spark Dataframe column with last character of other column 密切相关,但我想从-1索引中提取多个字符。

我有下面的pyspark df

代码语言:javascript
运行
AI代码解释
复制
+----------+----------+
|    number|event_type|
+----------+----------+
|0342224022|        11|
|0112964715|        11|
+----------+----------+

我想从number列的最后一个索引中提取3个字符。

我尝试了以下几点:

代码语言:javascript
运行
AI代码解释
复制
from pyspark.sql.functions import substring 
df.select(substring(df['number'], -1, 3), 'event_type').show(2)

# which returns:

+----------------------+----------+
|substring(number,-1,3)|event_type|
+----------------------+----------+
|                     2|        11|
|                     5|        11|
+----------------------+----------+

下面是预期的输出(我不确定上面的输出是什么):

代码语言:javascript
运行
AI代码解释
复制
+----------------------+----------+
|substring(number,-1,3)|event_type|
+----------------------+----------+
|                   022|        11|
|                   715|        11|
+----------------------+----------+

我做错了什么?

注:火花1.6.0版

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-12 01:58:22

这就是您使用substring的方式。你的位置是-3,长度是3。

代码语言:javascript
运行
AI代码解释
复制
pyspark.sql.functions.substring(str, pos, len)

您需要将子字符串函数调用更改为:

代码语言:javascript
运行
AI代码解释
复制
from pyspark.sql.functions import substring
df.select(substring(df['number'], -3, 3), 'event_type').show(2)
#+------------------------+----------+
#|substring(number, -3, 3)|event_type|
#+------------------------+----------+
#|                     022|        11|
#|                     715|        11|
#+------------------------+----------+
票数 17
EN

Stack Overflow用户

发布于 2021-12-23 12:09:00

这也可以通过SQL代码来完成,这要归功于"expr“函数:

代码语言:javascript
运行
AI代码解释
复制
from pyspark.sql.functions import expr

df.select(expr('RIGHT(number, 3) AS substring'), 'event_type').show(2)
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49793479

复制
相关文章
在eclipse中没有server(需在选项中设置)
①在软件eclipse下的Help->InstallNew Software->中,在Work with中点击Add,如下,加入
全栈程序员站长
2022/07/25
4.4K0
在eclipse中没有server(需在选项中设置)
server.c:5491:15: 错误:‘struct redisServer’没有名为‘maxmemory’的成员
错误原因是gcc版本的问题,由于我使用的redis6.0版本的。查看gcc版本,如下所示:
别先生
2021/03/02
4.6K0
[译] 依赖注入在多模块工程中的应用
总的来说,这不是一篇关于依赖注入的文章,也不是关于我们为什么选择库 X 而不是库 Y 的文章。 相反的,本文从依赖注入的角度介绍了我们对 Plaid 进行模块化实践的主要成果。
Android 开发者
2022/09/20
1.9K0
[译] 依赖注入在多模块工程中的应用
财务模块在ERP管理中的地位如何?
  从传统的封闭、单一的核算型财务管理信息系统发展到基于ERP的集成、准确、实时、决策性的财务管理信息系统,ERP系统改变了企业资金管理模式,对ERP及现代企业财务管理的发展都具有重大意义,随着企业经营环境的变化、信息技术的不断发展,ERP自动实时企业内部资金的流动及使用情况进行量化,以保证企业进行资金的合理分配与运用。基于ERP 管理模式的财务管理系统必将朝着更加科学化、集成化、智能化、网络化的方向发展。   ERP系统是财务管理与生产管理,库存管理等多模块的高度集成,在一个集成的环境下,当生产经营系统能够正常运行时,很容易驱动会计核算系统正常运行,库存模块也开始运行,进而是销售···   ERP上线带给成本管理的第一个变革是建立了标准成本体系。成本核算对象进一步细化,通过子库存转移实现内部物资转移,成本费用控制高度集中。同时能适时监控采购物资的实际采购价格,便于及时了解公司各项原材料等市场信息,促进采购成本降低,保证公司成本、利润核算更加真实、科学、准确。   在传统工业经济时代,经济增长主要依赖厂房、机器、资金等有形资产。而知识经济时代,企业资产中以知识为基础的专利权、商标权、人力资源、产品创新等无形资产所占比重将大大提高。然而,由于无形资产确认、计量的困难,传统核算型软件受到很大限制,进行财务决策时也很少考虑这些无形资产。仓管云ERP管理系统除了财务系统外,还包括销售管理、人力资源等系统,可以从各方面对这些无形资产进行分析、预测,丰富了财务管理的内容。
明象ERP
2019/03/01
1.1K0
提示[译] 依赖注入在多模块工程中的应用
总的来说,这不是一篇关于依赖注入的文章,也不是关于我们为什么选择库 X 而不是库 Y 的文章。 相反的,本文从依赖注入的角度介绍了我们对 Plaid 进行模块化实践的主要成果。
Android 开发者
2019/06/02
1.8K0
DC电源模块在通信仪器中的应用
随着通信技术的不断发展和进步,通信仪器的种类和功能也越来越多样化,而DC电源模块作为通信仪器中重要的电源组件,在通信仪器的应用中发挥着重要的作用。
河北稳控科技
2023/06/09
2210
DC电源模块在通信仪器中的应用
DC电源模块在日常电器中的应用
1. 智能手机和平板电脑:智能手机和平板电脑都需要一个稳定的DC电源模块来供电,以确保设备正常运行并提供长时间的电池寿命。
河北稳控科技
2023/07/06
2100
DC电源模块在日常电器中的应用
在docker中安装python依赖库/模块
我们一般如何处理软件的运行环境问题?一般上,即使用docker,我们的python脚本还是不可避免地需要安装额外的库。而每添加一个库都制作一个新的docker,这会是一个灾难。有必要寻找一种更优雅的解决方案。
羽翰尘
2019/11/20
12.4K0
在PetaLinux工程中调试关键模块代码
在PetaLinux工程中,与单板相关的UBoot、Linux等模块,经常需要编辑、调试。
hankfu
2022/11/18
1.1K0
类A是公共的,应在名为A.java的文件中声明错误
第一种!!! “类A是公共的,应在名为A.java的文件中声明”这句话需要分两步来理解: 1、如果类A被声明为公共的(public),那么必须将类A保存在名为A.java的文件中; 2、反之,在一个文件中最多包含一个顶级的公共类,并且该公共类的名字与文件名相同。比如文件A.java中,允许定义一个或多个类,但最多允许一个顶级的公共类,此类名为A。此处强调的顶级的意思是,允许非顶级的公共类存在,如内部公共类等。 第二种 这是你的命名错误 把文件名改为 A.java 因为你里面的类是 pub
Angel_Kitty
2018/04/09
2.7K0
在 Git 中当更改一个文件名为首字母大写时
一般开发中在 Mac 上开发程序,并使用 Git 进行版本管理,在使用 React 编写 Component 时,组件名一般建议首字母大写。
山月
2021/01/04
1.8K0
python中的模块
模块:随着程序变的越来越大  为了便于维护 需要把它分为多个文件 为此python允许把定义放入一个文件 然后在其他脚本中将其作为模块导入 创建模块: 将相关的语句和定义放入与模块同名的文件中
py3study
2020/01/14
9400
DC电源模块在工业自动化中的应用
随着工业自动化的快速发展,电子技术的不断进步,DC电源模块已经成为了工业自动化领域中的重要组成部分之一。DC电源模块广泛应用于各种自动化设备中,如PLC、DCS、机器人、变频器等。本文将从以下几个方面详细介绍DC电源模块在工业自动化中的应用。
河北稳控科技
2023/08/25
1990
DC电源模块在工业自动化中的应用
在没有DOM操作的日子里,我是怎么熬过来的(中)
前言 继上篇推送之后,在掘金、segmentfault、简书、博客园等平台上迅速收到了不俗的反馈,大部分网友都留言说感同身受,还有不少网友追问中篇何时更新。于是,闰土顺应呼声,在这个凛冽的寒冬早晨,将中篇热文滚烫呈上。 搬好小板凳,接下来,正文从这开始~ 在上篇的众多留言中,有位网友的评论比较具有代表性,摘出来供大家一阅: “ 同感啊楼主 比如做tab的时候,以前jq就是切换一下class,现在vue是切换数据,再根据数据显示class,这弯绕的啊 ” 当然,有评论就有回复,请看下面这位网友是怎么回复他的:
闰土大叔
2018/04/12
1.7K0
在没有DOM操作的日子里,我是怎么熬过来的(中)
在命令行中调试 django 项目中的模块方法
本文主要介绍了一种在命令行中调试 Django 项目中模块方法的方法,通过使用 python manage.py shell 工具,可以方便地在命令行中执行代码,而不需要进入 Python Shell,提高了开发效率。该方法主要利用了环境变量和判断逻辑,在配置文件中设置环境变量,在需要调试的脚本中加入判断逻辑,从而在命令行中执行相应的调试代码。该方法简化了调试过程,使得调试更加方便。
jimbochen
2017/07/27
4.4K0
在WordPress中给没有封面图的文章增加默认缩略图
ianzhi
2023/10/19
3180
idea导入maven项目右侧没有maven_maven多模块和单模块的
今天重装了idea,发现右边的maven,数据库模块不见了,在网上找了一些方法(如:IDEA Maven不见了_小鹰信息技术服务部-CSDN博客_maven找不到了),也没解决,最后自己瞎捣鼓出来了,记录下。
全栈程序员站长
2022/11/09
3.7K1
idea导入maven项目右侧没有maven_maven多模块和单模块的
TP6模型类在PhpStorm中没有方法提示
源码文件:vendor\topthink\think-orm\src\Model.php
很酷的站长
2023/02/17
1.1K0
TP6模型类在PhpStorm中没有方法提示
顶级 await 在 Node.js 模块中可用啦!
Node.js 是一个用于编写快速实用程序脚本的漂亮工具。我在许多构建过程中都使用它。重命名文件、下载数据、图像处理——Node.js 脚本处理我项目中的许多任务。
Jean
2021/11/01
2.6K0
顶级 await 在 Node.js 模块中可用啦!
点击加载更多

相似问题

没有名为'timeout_decorator‘的模块

155

Pyinstaller抛出“没有模块名为multipart",”没有模块名为image",“没有模块名为text",”没有模块名为message“

10

导入名为“MultidbodyPlant”的Drake问题

11

没有模块名为。

36

在python模块中:没有名为'json‘的模块

137
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档