2 回答

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個(gè)贊
如果所有字符串的格式相同,則可以使用正則表達(dá)式,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貢獻(xiàn)1833條經(jīng)驗(yàn) 獲得超4個(gè)贊
您可以使用以下方法創(chuàng)建自定義函數(shù)并將其應(yīng)用于 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)
添加回答
舉報(bào)