我让gpt写了一段正则表达式代码,可是运行报错,可以帮忙看看哪里出了问题?...

点击上方“Python爬虫与数据挖掘”,进行关注

回复“书籍”即可获赠Python从入门到进阶共10本电子书

忽闻海上有仙山,山在虚无缥缈间。

大家好,我是皮皮。

一、前言

前几天在Python最强王者群【HZL】问了一个Python正则表达式的问题,这里拿出来给大家分享下。

f8334a5d09767acf794e0fe2a1320e80.png

截图如下图所示:

8cba1c0be0dcbff09da1d97fb0e11929.png

单独跑的这一行,跑出了下图这个。

baa2a53b33c7b52baf63e4de7aa8c671.png

这个报错是你提取了4列,应该赋值给4列,而不应该是1列。

二、实现过程

这里【大锤子】给了一个思路,你可以把报错信息报回给GPT,让其帮忙解决。

9eb349861509c23f95160269ff504059.png

后来【瑜亮老师】给了一个代码,如下所示:

df = pd.DataFrame({'price_range': ['R32 ($16,500,00.01 to $20,000,00)',
                                   'R43 ($5,000,000.00 to $8,000,000.50)',
                                   'R15 (below $1,000,000)']})
# re提取金额数字
df['temp'] = df['price_range'].map(lambda x: re.findall(r'\$([0-9,.]+)', x))
# 补全min和max
df['temp'] = df['temp'].map(lambda x: ['0'] + x if len(x) == 1 else x)
# 去掉原金额中的逗号
df['temp'] = df['temp'].map(lambda x: '。'.join(x).replace(',', ''))
# 将数据拆解为两列
df2 = df['temp'].str.split('。', expand=True)
df2.columns = ['min_price', 'max_price']
print(df2)

代码略显繁琐,实现了需求。顺利地解决了粉丝的问题。

7b319e407a1250ec93d896b72615b2c7.png

后来【瑜亮老师】用pd.to_numeric转换字符串为浮点型,也是可以的。

9a8c545e0e8a88f36d11a9284cb25366.png

代码如下:

方法二:
# # re提取金额数字
df['temp'] = df['price_range'].map(lambda x: re.findall(r'\$([0-9,.]+)', x))
# # 补全min和max
df['temp'] = df['temp'].map(lambda x: '。'.join(['0'] + x) if len(x) == 1 else '。'.join(x))
# 将数据拆解为两列
df2 = df['temp'].str.split('。', expand=True)
# 把金额数字转换为浮点型
df2 = df2.replace({',': ''}, regex=True).apply(pd.to_numeric)
df2.columns = ['min_price', 'max_price']
print(df2)

三、总结

大家好,我是皮皮。这篇文章主要盘点了一个Python正则表达式的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【HZL】提问,感谢【༺࿈黑科技·鼓包࿈༻】、【大锤子】、【瑜亮老师】、【隔壁😼山楂】给出的思路和代码解析,感谢【eric】等人参与学习交流。

【提问补充】温馨提示,大家在群里提问的时候。可以注意下面几点:如果涉及到大文件数据,可以数据脱敏后,发点demo数据来(小文件的意思),然后贴点代码(可以复制的那种),记得发报错截图(截全)。代码不多的话,直接发代码文字即可,代码超过50行这样的话,发个.py文件就行。

092c6b9d9e8f65570b53a18a7ae9c996.png

大家在学习过程中如果有遇到问题,欢迎随时联系我解决(我的微信:pdcfighting1),应粉丝要求,我创建了一些高质量的Python付费学习交流群和付费接单群,欢迎大家加入我的Python学习交流群和接单群!

b3245355352c1b29d36f6a36c5998d71.png

小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。

716afb6f4a75fd2aee154076f749a03b.jpeg

------------------- End -------------------

往期精彩文章推荐:

  • if a and b and c and d:这种代码有优雅的写法吗?

  • Pycharm和Python到底啥关系?

  • 都说chatGPT编程怎么怎么厉害,今天试了一下,有个静态网页,chatGPT居然没搞定?

  • 站不住就准备加仓,这个pandas语句该咋写?

e09046368be0eed0defff8dc44e98c72.png

欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持

想加入Python学习群请在后台回复【入群

万水千山总是情,点个【在看】行不行

/今日留言主题/

随便说一两句吧~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/20143.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ES6知识点

目录 1、let、cons、var的区别 2、const对象的属性可以修改吗 3、如果new一个箭头函数会怎么样 4、箭头函数和普通函数的区别: 5、扩展运算符的作用及使用场景 1、let、cons、var的区别 1️⃣:块级作用域:块作用域由{}包括,le…

ERM LABS 与 The Sandbox 战略合作,将真人密室逃脱游戏引进元宇宙

将现实生活中的体验带入一个全新的维度!ERM LABS 专注于将现实生活中的娱乐及冒险体验以游戏独特架构设计扩展到元宇宙裡。与 The Sandbox 合作,该项目旨在为全球合作的真人密室逃脱场所提供无限开放形的线上虚拟世界,让玩家尽情享受考验智商…

09——svg中path的使用

一、path 是 svg 中最强大的图形 用于定义一个 路径所有命令均允许小写字母。大写 表示绝对定位,小写 表示 相对定位 (相对于上一个结束的坐标)d 属性中包含所有路径的点,可根据命令缩写 自由组合 命令 名称 …

最全的分布式事务详情,它来啰~

我们首先得理解什么是分布式事务呢?分布式事务是指在分布式系统中,涉及多个计算机或服务器的操作序列,这些操作需要满足一致性和可靠性的要求。每个操作要么全部成功执行,要么全部回滚,以保持数据的一致性和完整性。 …

假期出行小程序+chatgpt旅游攻略

马上五一了,如果想出去旅游,需要提取规划好路线图,我们可以借助chatgpt的路线规划功能帮我们生成一份攻略,按照攻略我们就可以愉快的出去玩耍了。 本文结合chatgpt,利用低代码工具帮我们制作一份旅行导览小程序,可以按照行程方便的出行。 1 制定攻略 我们在聊天窗口输…

从小白到黑客高手:一份全面详细的学习路线指南

前言 黑客从入门到精通需要经过深入的学习和实践,这是一个需要长时间投入和大量精力的过程。在这份学习路线中,我将为你介绍黑客学习的基本知识和技能,帮助你逐步掌握黑客技能。 黑客 一、入门阶段 1.了解计算机基础知识 学习计算机基础知…

thinkPhP6.0安装教程图解--PHP框架安装

ThinkPhP 6.0 安装 1.环境检查 首先,thinkphp6.0,要求php的环境是7.2.5及以上的,所以先检查自己的php环境是否符合要求。 在cmd命令窗口中输入php -v 或者没有配置环境变量的话,可以在php编辑器中输出php_info()或则PHP_VERSIO…

【鲁棒优化、无功优化】两阶段鲁棒优化的主动配电网动态无功优化【IEEE33节点】(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

A股市场上股票行情数据接口有那几种?

L2行情数据接口相比Level-1接口相比,L2行情市场具有数据更完整、推送速度更及时的优势,帮助投资者及时把握盘中主要资金流,做出更准确的投资决策。简而言之,Level-2最大的作用就是提前看到主力的大单,对于追逐日线跌停…

Linux高并发服务器开发01:Linux系统编程入门

GCC 什么是GCC GCC工作流程 GCC常用的参数选项 GCC和G的区别 静态库 什么是库 静态库的制作 先编译生成对应的.o文件 gcc -c add.c sub.c mult.c div.c -I …/include/ 再将.o文件打包成静态库 ar rcs libcalc.a add.o sub.o mult.o div.o 使用的时候-l指定库名称 gcc main.c…

【论文简述】Multi-View Stereo Representation Revisit: Region-Aware MVSNet(CVPR 2023)

一、论文简述 1. 第一作者:Yisu Zhang 2. 发表年份:2023 3. 发表期刊:CVPR 4. 关键词:MVS、3D重建、符号距离场 5. 探索动机:像素深度估计仍存在两个棘手的缺陷。一是无纹理区域的估计置信度较低。二是物体边界附…

RTSP/RTP on TCP 协议抓包记录

仅做记录,无他。 RTSP OPTIONS 客户端发送: 服务端响应 RTSP DESCRIBE 客户端发送 服务端响应 RTSP SETTUP 客户端发送请求 服务端响应 RTSP PLAY 客户端发送请求 服务端响应 RTP包 这个比较复杂,得好好解析&#xff0…

消息队列中间件 - RabbitMQ消息的持久化、确认机制、死信队列

持久化和应答机制Ack 消息队列中间件系列的最后一篇了,RabbitMQ消息的持久化、确认机制、死信队列、负载均衡等一系列进行说明。 消息持久化 当RabbitMq重启以后,未消费的消息,可以在服务重启后继续消费,不会丢失。 应答机制A…

DS215KLDCG1AZZ03A如何编写温度比例的代码?

DS215KLDCG1AZZ03A如何编写温度比例的代码&#xff1f; 可编程逻辑控制&#xff0c;简称PLC&#xff0c;由美国机械工程师迪克莫利于1年1968月<>日首次设计。PLC最初是为了减少汽车行业员工的工作量而开发的&#xff0c;从那时起&#xff0c;它们已被用于所有其他恶劣环境…

MySQL --- 多表查询

多表查询、事物、以及提升查询效率最有手段的索引 一. 多表查询 1.1 多表查询 --- 概述 1.1.1 数据准备 将资料中准备好的多表查询数据准备的SQL脚本导入数据库中。 部门表&#xff1a; 员工表&#xff1a; 1.1.2 介绍 多表查询&#xff1a;指从多张表中查询数据&#…

尚硅谷大数据技术Spark教程-笔记01【Spark(概述、快速上手、运行环境、运行架构)】

视频地址&#xff1a;尚硅谷大数据Spark教程从入门到精通_哔哩哔哩_bilibili 尚硅谷大数据技术Spark教程-笔记01【Spark(概述、快速上手、运行环境、运行架构)】尚硅谷大数据技术Spark教程-笔记02【SparkCore(核心编程、案例实操)】尚硅谷大数据技术Spark教程-笔记03【SparkSQL…

云原生背景下如何配置 JVM 内存

image.png 背景 前段时间业务研发反馈说是他的应用内存使用率很高&#xff0c;导致频繁的重启&#xff0c;让我排查下是怎么回事&#xff1b; 在这之前我也没怎么在意过这个问题&#xff0c;正好这次排查分析的过程做一个记录。 首先我查看了监控面板里的 Pod 监控&#xff1a;…

奶爸式Swagger教学

目录 一、导入依赖 二、SwaggerConfig基础编程 三、Swagger 常用说明注解 1.API 2.ApiOperation 3.ApiModel 4.ApiModelProperty 5.ApiParam 6.ApilmplicitParam 一、导入依赖 <!--开启Swagger --><!-- https://mvnrepository.com/artifact/io.springf…

Vector - 常用CAN工具 - CANoe软件安装常见问题

目录 一、确认电脑系统盘是否满足要求&#xff0c;CANoe软件对PC要求如下&#xff1a; 二、确认软件安装包完整 三、确认软件与电脑系统之间的兼容性 四、关闭后台程序 五、安装软件 六、清空临时文件夹 七、尝试在其他电脑上安装 一、确认电脑系统盘是否满足要求&#…

STM32 调试TM7711驱动原理图驱动代码

本文使用工程代码如下 (1条消息) STM32调试TM7711驱动原理图驱动源代码&#xff0c;参考如下博客&#xff0c;有原理图设计资源-CSDN文库 背景 项目选用TM7711&#xff0c;还是很令人吃惊的&#xff0c;主要是有如下几个理由 第一就是便宜 第二精度高 STM32的ADC精度不够…