2024-09-27 07:31:46 发布
网友
我在一列中有这个值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值
谢谢
最简单的方法是只修改代码中的一行,这是完全正确的
更改此splitted = df["eq_id"].str.split("-")
splitted = df["eq_id"].str.split("-")
进入这个splitted = df["eq_id"].str.split("-", 1)
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]
最简单的方法是只修改代码中的一行,这是完全正确的
更改此
splitted = df["eq_id"].str.split("-")
进入这个
splitted = df["eq_id"].str.split("-", 1)
这意味着您只需要基于从左侧开始的
'-'
进行一次拆分保持代码的其余部分不变,它应该可以完成任务
如果知道字符串的索引位置,则可以执行以下操作:
用“-”号将它们拆分并重新组合,然后重新分配给该特定列
将第一个+和'-'与最后一个元素相加
相关问题 更多 >
编程相关推荐