Pandas 熊猫-提取第4个字符后的所有文本

Pandas 熊猫-提取第4个字符后的所有文本,pandas,Pandas,我想看看如何在第四个字符之后提取列中的所有字符 col_a XYZ123 ABCD001 期待以下 col_a, new_col XYZ123, 23 ABCD001, D001 尝试使用字符串切片: df['new_col']=df['col_a'].str[4:] 或 通过re模块: import re df['new_col']=df['col_a'].apply(lambda x:re.findall('[0-9]+', x)[0]) 尝试使用字符串切片: df['new_col

我想看看如何在第四个字符之后提取列中的所有字符

col_a
XYZ123
ABCD001
期待以下

col_a, new_col
XYZ123, 23
ABCD001, D001

尝试使用字符串切片:

df['new_col']=df['col_a'].str[4:]

通过re模块:

import re
df['new_col']=df['col_a'].apply(lambda x:re.findall('[0-9]+', x)[0])

尝试使用字符串切片:

df['new_col']=df['col_a'].str[4:]

通过re模块:

import re
df['new_col']=df['col_a'].apply(lambda x:re.findall('[0-9]+', x)[0])
另一种方式

在前3个字母数字的左侧提取字母数字

df['new_col']= df.col_a.str.extract('((?<=^\w{3})\w+)')
另一种方式

在前3个字母数字的左侧提取字母数字

df['new_col']= df.col_a.str.extract('((?<=^\w{3})\w+)')

有了你们展示的样品,你们能试一下下面的吗。利用熊猫的功能。简单的解释是,使用regex^.{4}.*$将除前4个字符以外的所有字符放入捕获组并保存到新列

df['new_col'] = df['col_a'].str.extract(r'^.{4}(.*)$',expand=False)
df的输出如下所示:

     col_a new_col
0   XYZ123      23
1  ABCD001     001

有了你们展示的样品,你们能试一下下面的吗。利用熊猫的功能。简单的解释是,使用regex^.{4}.*$将除前4个字符以外的所有字符放入捕获组并保存到新列

df['new_col'] = df['col_a'].str.extract(r'^.{4}(.*)$',expand=False)
df的输出如下所示:

     col_a new_col
0   XYZ123      23
1  ABCD001     001