如何在python中拆分字符串并将其分配给新列

2024-09-27 07:31:46 发布

您现在位置: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

谢谢


Tags: gt脚本idnumberdfcountmaskloc
3条回答

最简单的方法是只修改代码中的一行,这是完全正确的

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

进入这个splitted = df["eq_id"].str.split("-", 1)

这意味着您只需要基于从左侧开始的'-'进行一次拆分

保持代码的其余部分不变,它应该可以完成任务

如果知道字符串的索引位置,则可以执行以下操作:

mask = df["eq_id"].split('-')[1]+'-'+df["eq_id"].split('-')[-1]
df.loc[mask, "eg_number"] = mask

用“-”号将它们拆分并重新组合,然后重新分配给该特定列

将第一个+和'-'与最后一个元素相加

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]

enter image description here

相关问题 更多 >

    热门问题