2 回答
TA贡献1804条经验 获得超3个赞
如果所有字符串的格式相同,则可以使用正则表达式,str.extract如下所示:
df['Frame'] = df['name'].str.extract(r"FR0(\d+)_STR").astype(int)
# class name Frame
# 0 a C-FRA_FRA-S18_FU_L_FUS_FR073_STR001-STR00 73
# 1 b C-FRA_FRA-S18_FU_L_FUS_FR074_STR010-STR011 74
TA贡献1833条经验 获得超4个赞
您可以使用以下方法创建自定义函数并将其应用于 DataFrame 列apply:
# Example set-up:
df = pd.DataFrame(data={"class":["a", "b"],
"name":["C-FRA_FRA-S18_FU_L_FUS_FR073_STR001-STR00",
"C-FRA_FRA-S18_FU_L_FUS_FR074_STR010-STR011"]})
# Solution:
def str_func(s):
ix1 = s.find("FR0")+3
ix2 = s.find("_STR")
return s[ix1:ix2]
df["Frame"] = df["name"].apply(str_func).astype(int)
添加回答
举报