Python 如何子集列表,然后截断其元素(熊猫)

Python 如何子集列表,然后截断其元素(熊猫),python,pandas,data-analysis,Python,Pandas,Data Analysis,我有以下列表,名为my_list: ['SAMNY5PAP01_Max', 'SAMNY5PAP02_Max', 'SAMNY5PAP03_Max', 'SAMNY5PAP01_Avg', 'SAMNY5PAP02_Avg', 'SAMNY5PAP03_Avg', 'DVR_PUC_Max_Sum_SAMNY5PAP01', 'DVR_PUC_Max_Sum_SAMNY5PAP02', 'DVR_PUC_Max_Sum_SAMNY5PAP03', 'DVR_PUC_Max_Co

我有以下列表,名为
my_list

['SAMNY5PAP01_Max',
 'SAMNY5PAP02_Max',
 'SAMNY5PAP03_Max',
 'SAMNY5PAP01_Avg',
 'SAMNY5PAP02_Avg',
 'SAMNY5PAP03_Avg',
 'DVR_PUC_Max_Sum_SAMNY5PAP01',
 'DVR_PUC_Max_Sum_SAMNY5PAP02',
 'DVR_PUC_Max_Sum_SAMNY5PAP03',
 'DVR_PUC_Max_Count_SAMNY5PAP01',
 'DVR_PUC_Max_Count_SAMNY5PAP02',
 'DVR_PUC_Max_Count_SAMNY5PAP03',
 'DVR_PUC_Average_Sum_SAMNY5PAP01',
 'DVR_PUC_Average_Sum_SAMNY5PAP02',
 'DVR_PUC_Average_Sum_SAMNY5PAP03',
 'DVR_PUC_Average_Count_SAMNY5PAP01',
 'DVR_PUC_Average_Count_SAMNY5PAP02',
 'DVR_PUC_Average_Count_SAMNY5PAP03']
我想:

a) 只取
my_List
List的前三个元素(例如

b) 然后,只取
“\u Max”
(例如
['SAMNY5PAP01'、'SAMNY5PAP01'、'SAMNY5PAP01'、'SAMNY5PAP01'])前面的元素片段。

我知道如何执行上面的“a”步,如下所示:

my_List = my_List[0:3]
这让我想起:

['SAMNY5PAP01_Max', 'SAMNY5PAP02_Max', 'SAMNY5PAP03_Max']
我如何完成上面的步骤“b”


谢谢!

如果您想摆脱
“\u Max”
,您可以尝试以下方法:

my_List = [x[:-4] for x in my_List[:3]]
或者这个:

my_List = [x.split("_")[0] for x in my_List[:3]]

如果存在其他可能的情况,如
\u MaxLength
等,而这些可能会使索引解决方案失效,则可以使用正则表达式来适应这些情况

import re

[st.group(0) for st in [re.search(r'.*[^_Max]', el) for el in my_List[:3]]]

你是在问“香草Python”列表还是熊猫系列/DFs?你试过
split
吗?
[x.split(“\u”)[0]代表我的列表中的x[:3]
只需将字符串也切分一下:
我的列表=[s[:-4]代表我的列表中的s[:3]
,这与
熊猫[/code>有什么关系?谢谢,@Carles Mitjans。
import re

[st.group(0) for st in [re.search(r'.*[^_Max]', el) for el in my_List[:3]]]