python - 根据设置的规则过滤列中的值
问题描述
我有一个数据框
Group ID
1 09239820
2 2872498938
2 1267
3 23219823983
3 267839236
4 33287442
我想用字母替换 ID 列中的第 1、第 2 和第 4 个数字
Replace 1st with N
Replace 2nd with X
Replace 4TH with D
预期输出:
Group ID
1 NX2D9820
2 NX7D498938
2 NX6D
3 NX2D9823983
3 NX7D39236
4 NX2D7442
解决方案
您可以使用.str.replace
捕获的组和反向引用:
df.ID = df.ID.astype(str)
df.ID.str.replace('..(.).(.*)', r'NX\1D\2')
0 NX3D820
1 NX7D498938
2 NX6D
3 NX2D9823983
4 NX7D39236
5 NX2D7442
Name: ID, dtype: object
推荐阅读
- javascript - 如何将数组从控制器传递到 _layout.cshtml
- android - 如何在 TextInputLayout 内的 EditText 上设置高程
- android - 如何通过具有不可序列化数据的意图传递数组或数组列表?
- vba - VBA。访问 Variant 的数组元素。数组是类属性
- python - 使用 Python Tkinter 2.7 在选定路径中创建目录
- html5-fullscreen - 在任何元素上初始化全屏时没有任何效果
- ios - 如何在 CBPeripheralManager 处于活动状态时提高 CBCentralManager 的性能
- c# - 使用我制作的字符自动生成的 id
- logging - 备份 Rundeck 日志:无法将旧日志加载到新的 rundeck
- wordpress - Wordpress 看不到我的自定义主题