Den*_*guy 1 python string replace pandas
我需要一些帮助:
我有两列:id 和 class:
df:
id class
AB001 NaN
AB002 NaN
CDE001 NaN
CDE002 NaN
Run Code Online (Sandbox Code Playgroud)
我想要的是,如果 id 以 AB 开头,那么 class 就是 AB,
但如果
id 以 CDE 开头,然后类是 CDE
所以我最终会得到:
id class
AB001 AB
AB002 AB
CDE001 CDE
CDE002 CDE
Run Code Online (Sandbox Code Playgroud)
我就是无法理解它 - 有人可以帮忙吗?谢谢!
看起来你想剪掉所有的尾随数字,所以:
df['class'] = df['id'].str.extract('^(\D+)')[0]
Run Code Online (Sandbox Code Playgroud)
输出:
id class
0 AB001 AB
1 AB002 AB
2 CDE001 CDE
3 CDE002 CDE
Run Code Online (Sandbox Code Playgroud)
更新:根据您的评论,您可以使用rstrip:
df['class'] = df['id'].str.rstrip('0123456789')
Run Code Online (Sandbox Code Playgroud)
或仍然与extract:
df['class'] = df['id'].str.extract('^(.*\D)\d+$')[0]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
42 次 |
| 最近记录: |