python-3.x - 提取在同一行中同时具有时间戳和位置的数据帧
问题描述
有没有简单的方法来提取在同一行中同时具有时间戳和位置的数据框?
此数据框中的 1 列:
event
2019-01-01 11:08:33.000 USA
2019-01-02 11:08:33.000 Mexico
2019-01-03 11:08:33.000 Canada
有什么简单的方法可以将它们分成两列,例如时间和位置?
time,location
2019-01-01 11:08:33.000,USA
2019-01-02 11:08:33.000,Mexico
2019-01-03 11:08:33.000,Canada
解决方案
如果字符串Series.str.rsplit
中没有空格,则使用:location
df[['time', 'loc']] = df.pop('event').str.rsplit(n=1, expand=True)
print (df)
time loc
0 2019-01-01 11:08:33.000 USA
1 2019-01-02 11:08:33.000 Mexico
2 2019-01-03 11:08:33.000 Canada
或带有提取时间垃圾邮件的正则表达式解决方案Series.str.extract
:
regex = r'(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3}) (.*)'
df[['time', 'loc']] = df.pop('event').str.extract(regex)
print (df)
time loc
0 2019-01-01 11:08:33.000 USA
1 2019-01-02 11:08:33.000 Mexico
2 2019-01-03 11:08:33.000 Canada
推荐阅读
- python - 这种广播的正确方法是什么?
- windows - 如何在 Windows 10 文件资源管理器中搜索 2+ 个空格?
- wso2 - 登录 uri 'analytics-dashboard' 时出错。错误:AM_DB 数据库中不存在 AM_SYSTEM_APPS - 在分析快速设置中
- install4j - Install4j 中 Windows 安装程序的自定义脚本
- python - 如何在熊猫中删除一列
- android - snapshot.hasData 返回一个空数组
- php - 如何将质量分配与两个模型一起使用?
- assembly - 为 ARM 发布交叉编译 FreeRTOS 程序
- sql - 如何在选择中使用选择将查询转换为 Oracle
- windows - 无法在 Docker Windows 容器中执行第三方 Exe 文件