我正在尝试使用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