从字母数字列中提取数字

2024-06-26 00:02:05 发布

您现在位置:Python中文网/ 问答频道 /正文

输入测向

Code               Value
USH0001108421891  -9999    
USH0001108421892  -9999 X3 
USH0001108421893  -77EX3 
USH0001108421894   483EQ3 
USH0001108421895   325EX3 
USH0001108421896   297ES3 

从示例中可以看出,列Value既有字符串也有整数。但我只想要字母表之前的第一组整数

预期df

Code               Value
USH0001108421891  -9999    
USH0001108421892  -9999 
USH0001108421893  -77
USH0001108421894   483
USH0001108421895   325
USH0001108421896   297 

我尝试了这个,但它返回了一个错误

df1['Value'] = df1['Value'].astype(int)
ValueError: invalid literal for int() with base 10: '-77EX3'

Tags: 字符串示例valuecode整数字母表intdf1
1条回答
网友
1楼 · 发布于 2024-06-26 00:02:05

您可以将^{}与包含捕获组的^{}一起使用:

df['Value'] = df['Value'].str.extract(r'^(-?\d+)', expand=False).astype(int)

              Code   Value
0  USH0001108421891  -9999
1  USH0001108421892  -9999
2  USH0001108421893    -77
3  USH0001108421894    483
4  USH0001108421895    325
5  USH0001108421896    297

相关问题 更多 >