[英]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.