python - 如何在每一行数据帧上替换字符串的特定部分?
问题描述
我有一个带有文件名列的 df。文件名本身只包含我需要的信息,即 ID。
df:
filename
/path/to/file/in/folder 76317 1a2334bc-5d6e-7f89-123e-0f12fgf123.txt
我只需要文件夹之后和哈希之前的部分。所以在这种情况下是 76317。文件夹中的所有文件都有文件夹路径、空间、我需要的 ID,以及文件名的其余部分。
如何从文件名列中删除除此特定列的所有行所需的 ID 之外的所有内容?
解决方案
与正则表达式一起使用str.extract
,该正则表达式查找由 2 个空格包围的任何内容:
>>> df
filename
0 /path/to/file/in/folder 76317 1a2334bc-5d6e-7f...
1 /path/to/file/in/folder 76318 1a2334bc-5d6e-7f...
df['filename'] = df.filename.str.extract('\s(.*)\s', expand=False)
>>> df
filename
0 76317
1 76318
推荐阅读
- objective-c - (Mac) 模拟键盘快捷键 - 箭头键不起作用
- java - 如何解析此 JSONObject 以从 twitter 搜索 API 获取数组内的值以获取每条推文(名称、正文)?
- javascript - 如果数组之和为0,如何实现逻辑,从JavaScript中的数组中删除?
- three.js - three.js 旋转平面,因此它们始终垂直于相机轴而不改变 z 旋转
- excel - .选定的命令形式 Excel
- java - 我可以用哪种方式用Java中的List写下for循环?
- reactjs - ReactJS:停止自动提交输入
- jquery - Croppie JS 使用 jquery 分离裁剪功能和上传功能
- javascript - 如何使用 Rails 5 + jQuery 保持通过 Turbolinks 提交的页面状态
- python - 创建类的实例时无法传递参数