簡體   English   中英

從 pandas dataframe 列中的字符串中提取數字

[英]extract number from string in pandas dataframe column

我有一個以下格式的 dataframe 並嘗試使用提取 function 但我不斷收到以下錯誤:

ValueError:如果使用所有標量值,則必須傳遞索引

column1    column2
1         abc2150/abc2152/abc2154/abc215601/U215602


df.column2.str
    .split('/',expand=True)
    .apply(lambda row: row.str.extract('(\d+)', expand=True))
    .apply(lambda x: '/'.join(x.dropna().astype(str)), axis=1)

我需要以下格式的 output。

column1    column2
1         2150/2152/2154/215601/215602

請讓我知道如何解決它。

謝謝

您可以改為使用帶有正向前瞻的str.replace來刪除數字部分之前的所有字符:

df.column2.str.replace(r'[a-zA-Z]+(?=\d+)','')

 0    2150/2152/2154/215601/215602
Name: column2, dtype: object

為什么不?

df['column2']=df.column2.str.replace('abc','')

這是我要做的:

df.loc[:, "column2"] = df.column2.apply(lambda x: re.sub("[a-zA-Z]+", "", x))

暫無
暫無

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

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