如何从datafram中过滤出值

2024-06-15 04:55:15 发布

您现在位置:Python中文网/ 问答频道 /正文

从给定的数据帧:

df = 
    ID   TYPE   VD_0   VD_1   VD_2   VD_3   VD_4   VD_5   Val_0   Val_1   Val_2   Val3   Val_4   Val_5
    1    ABC    V1234  aaa    bbb    456     123   aaa    0       0       0       1       0      0
    2    DBC    456    A45    aaa    V1234   bbb   564    0       0       0       0       0      0
    3    ABD    V1234  V1234  bbb    ccc     456   123    0       0       0       0       0      1
    4    ABD    ccc    RTY    SSW    123     ccc   123    0       0       0       0       1      0

我只想选择此列表中VD_列的值:

myList = head + tail

规则1:除此之外,所选行应从以下值开始:

head = ["V1234","RTY"]

规则2:并且对于紧跟在head之后并属于tail的值,相应的Val_应该等于0:

tail = ["456","123"]

结果应该是这个(例如,不包括ID1的行,因为它的Val_3等于1,这意味着没有满足规则2):

result = 
    ID   TYPE   Col_1  Col_2   Col_3   Col_4   Val_1   Val_2   Val_3   Val_4
    3    ABD    V1234  V1234   456     123     0       0       0       1    
    4    ABD    RTY    123     123             0       0       0      

Tags: 数据id规则typecolvalheadtail