python - 如何在 Pandas(Python 3.x)中按第一个和最后一个找到的模式将一列分成两列
问题描述
我在将一列分成两列时遇到问题。我想按第一个和最后一个找到的模式“-”拆分列。也许这是微不足道的。
这是我的专栏:
col1
0 aa-bb-cc-dd
1 aa-bb-cc
2 aa-bb-cc
3 aa-bb-cc-dd
这是我想要的框架:
col1 col2
0 bb-cc dd
1 bb cc
2 bb cc
3 bb-cc dd
提前致谢!
解决方案
您可以使用列表推导:
df = pd.DataFrame([i.split('-', 1)[1].rsplit('-', 1) for i in df['col1']],
columns=['col1', 'col2'])
print(df)
col1 col2
0 bb-cc dd
1 bb cc
2 bb cc
3 bb-cc dd
Pandasstr
方法的存在主要是为了方便。对于干净的数据,您可能会发现列表理解对于较大的数据帧更有效。
推荐阅读
- lua - 客户端和服务器脚本问题 roblox studio
- javascript - 如何使用 jQuery 获取数据表行的内容?
- vue.js - 使用 Bootstrap Vuejs 将 row.item.attribute 值传递给模式
- azure - 在自定义数据库表中存储和显示调试信息,同时使用直线运行 botcomposer 机器人
- docker - Traefik Stack Deploy/Service 创建重复任务
- c - 从键盘读取字符串时出现意外输出
- java - Java:如何解决读写器问题?
- arduino - 如何在 LCD(16,2) 中使用移位寄存器
- android - 华为移动服务(HMS)异常:云端使用ML kit Real-Time Translation时Token无效或过期?
- c# - 无法将类型 db.entities1 隐式转换为 system.collection.generic.list
发布 WebAPI 时