如何在Python中分割字符串并将其分配给新列

我在一列中有这个值10-X-002,我只想提取X-002到新列中。


到目前为止我尝试过的是:


mask = df["eq_id"].str.count('-').gt(0)

splitted = df["eq_id"].str.split("-")

df.loc[mask, "eg_number"] = splitted[mask].str[-1]

但脚本结果只有002在新列中,我应该怎么做才能在新列中获取X-002值?


谢谢。


蛊毒传说
浏览 78回答 4
4回答

HUWWW

将第一个 + 和“-”与最后一个元素相加mask = df["eq_id"].str.count('-').gt(0)splitted = df["eq_id"].str.split("-")df.loc[mask, "eg_number"] = splitted[mask].str[1]+'-' +splitted[mask].str[-1]

温温酱

最简单的事情是只更改代码中的一行,这完全没问题。改变这个splitted = df["eq_id"].str.split("-")进入这个splitted = df["eq_id"].str.split("-", 1)这意味着您只需要从'-'左侧开始进行一次分割。保持其余代码不变,它应该可以完成工作

holdtom

尝试df["eq_id"].replace('10-','')

阿晨1998

如果您知道字符串的索引位置,那么您可以这样做:mask = df["eq_id"].split('-')[1]+'-'+df["eq_id"].split('-')[-1] df.loc[mask, "eg_number"] = mask用“-”号将它们拆分并重新组合回来,然后分配回该特定列
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python