输入df
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'
您可以将其.str.extract
用于regex pattern
包含捕获组:
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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句