我有一個包含一些文本索引的數據幀,其中包含要復制到列表中的必要信息。我不知道文本信息具體如何(單詞總是變化),但我知道在索引中的位置:'point.subclase.optimum.R31.完成'.R31是我想寫在列表中的值,所以我知道這個文本總是不同的,介于point.subclase.optimum.和.done之間。我試過:info_list = []for col in df.columns: if ('point.subclase.optimum.' in col) and ('.done' in col): info_list.append(col)但是該腳本只是為我提供了列表中的整個索引。有誰知道如何解決它?
1 回答

qq_笑_17
TA貢獻1818條經驗 獲得超7個贊
使用Series.str.extract
與轉義,因為特殊的正則表達式字符,然后刪除可能的缺失值,如果Series.dropna
不匹配,最后將輸出轉換為列表:\.
df = pd.DataFrame({'a':range(3)}, index=['point.subclase.optimum.R31.done',
'point.subclase',
'point.subclase.optimum.R98.done'])
print (df)
a
point.subclase.optimum.R31.done 0
point.subclase 1
point.subclase.optimum.R98.done 2
L = (df.index.str.extract(r'point\.subclase\.optimum\.(.*)\.done', expand=False)
.dropna()
.tolist())
print (L)
['R31', 'R98']
添加回答
舉報
0/150
提交
取消