簡體   English   中英

從字母數字列 pandas 中提取數字

[英]Extract number from alpha-numeric column pandas

輸入 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM