在第n次出现唯一字符后分隔Pandas列



我正在尝试使用id为熊猫的列:

AB.156483.15645431.1561313513
CD.15615a.4651d15351.1512.1.21

我想创建一个新的列,其中所有直到但不包括第二个周期返回。

AB.156483.15645431
CD.15615a.4651d15351

我试过:

pattern = r'([^.]*,[^,]*)'
df['test'] = df.ID.str.extract(pattern, expand=False)

和接收不可调用的字符串方法

我还尝试将单元格拆分为单元格内的列表,然后将列表转换回字符串并使用列表推导重新恢复周期:

df['test'] = ' '.join([str(item+'.') for item in [df.ID.str.split('.').str[0:3]]])

试试这个模式:

df['test'] = df.ID.str.extract('^([^.]+.[^.]+.[^.]+)')

或带split:

df['test'] = (df['ID'].str.split('.',3, expand=True)
.iloc[:,:3].agg('.'.join, axis=1)
)

输出:

ID                  test
0   AB.156483.15645431.1561313513    AB.156483.15645431
1  CD.15615a.4651d15351.1512.1.21  CD.15615a.4651d15351

相关内容

  • 没有找到相关文章

最新更新