如何将特定的定位文本放入数据帧索引中?

我有一个包含一些文本索引的数据帧,其中包含要复制到列表中的必要信息。


我不知道文本信息具体如何(单词总是变化),但我知道在索引中的位置:


'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)

但是该脚本只是为我提供了列表中的整个索引。


有谁知道如何解决它?


汪汪一只猫
浏览 85回答 1
1回答

qq_笑_17

使用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)                                 apoint.subclase.optimum.R31.done  0point.subclase                   1point.subclase.optimum.R98.done  2L = (df.index.str.extract(r'point\.subclase\.optimum\.(.*)\.done', expand=False)             .dropna()             .tolist())print (L)['R31', 'R98']
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python