2024-05-14 14:33:38 发布
网友
我需要一些帮助:
我有两列:id和class:
df:
id class AB001 NaN AB002 NaN CDE001 NaN CDE002 NaN
我想知道的是,如果id以AB开头,那么类就是AB
但如果
id以CDE开头,然后类是CDE
因此,我将以以下内容结束:
id class AB001 AB AB002 AB CDE001 CDE CDE002 CDE
我就是想不起来-有人能帮忙吗?谢谢大家!
使用正则表达式提取的另一种方法
Ex:
df = pd.DataFrame({"id":['AB001', 'AB002', 'CDE001', 'CDE002']}) df['Class'] = df['id'].str.extract(r"^([A-Z]+)") print(df)
输出:
id Class 0 AB001 AB 1 AB002 AB 2 CDE001 CDE 3 CDE002 CDE
看起来您希望剪裁所有尾随数字,因此:
df['class'] = df['id'].str.extract('^(\D+)')[0]
id class 0 AB001 AB 1 AB002 AB 2 CDE001 CDE 3 CDE002 CDE
更新:根据您的评论,您可以使用rstrip:
rstrip
df['class'] = df['id'].str.rstrip('0123456789')
或者仍然使用extract:
extract
df['class'] = df['id'].str.extract('^(.*\D)\d+$')[0]
使用正则表达式提取的另一种方法
Ex:
输出:
看起来您希望剪裁所有尾随数字,因此:
输出:
更新:根据您的评论,您可以使用
rstrip
:或者仍然使用
extract
:相关问题 更多 >
编程相关推荐