使用pandas从另一个df创建新df,并用条件填充

2024-09-29 02:28:06 发布

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

Hel lo我需要帮助,以便从该文件创建nex df:

      Groups                   COL1  COL2     COL3  COL4  COL5
0     G1      DJJE):Canis_lupus  ABFC  Canidae     4     3
1     G1      JUUI):Canis_canis    YH  Canidae    10    12
2     G1        KI):Lupus_lupus    ZA  canidae     2    12
3     G2  IOZ):Felis_sylvestris    OP  Falidae     0     2
4     G2        KI):Felis_felis    UI  Falidae     6     8
5     G3        YY):Canis_lupus    ER  Raninae     7     9
6     G3        SD):Canis_lupus    GH  Raninae     2     3
7     G3        DZ:)Lupus_lupus    EZ  Raninae     6     8
8     G4           KUU):O_outan    LO  Babounae    4     8
9     G4   OK:)Felis_sylvestris    IO  Babounae    4     8
9     G4   LK:)Felis_sylvestris    IU  Babounae    8     9

想法是让每个Groups创建一个df,其中一列COL3作为第一列,然后通过添加新列和字母来填充它

以下是一个例子:

G13 different Names组成(在:)模式之后): -Canis_lupus -Canis_canis -Lupus_lupus

然后,如果值的COL4COL5都是> 5,我在新的df中分配值A 如果COL4COL5 < 5,那么我在新的df中分配值B

exDJJE):Canis_lupus具有两个COL4 and COL5 < 5,那么Canidae中的Canis_lupus将具有一个B

expYY):Canis_lupusG3 haveCOL4 and COL5 > 5中,那么Raninae中的Canis_lupus将有一个A

如果存在同时存在COL4 and COL5 > 5COL4 and COL5 < 5的情况,例如:

在{}中{}和{}表示{},然后A>;B所以我给字母A

如果COL4 > 5COL5 < 5,那么我给出字母B

如果COL4 < 5COL5 > 5,那么我给出字母B 以下是预期输出:

COL3     Canis_lupus Canis_canis Lupus_lupus Felis_sylvestris O_outan 
Canidae  B           A           A           NA               NA   
Falidae  A           NA          NA          B                A    
Raninae  A           NA          A           NA               NA  
Babounae NA          NA          NA          A                B    

以下是数据:

{'Groups': {0: 'G1', 1: 'G1', 2: 'G1', 3: 'G2', 4: 'G2', 5: 'G3', 6: 'G3', 7: 'G3', 8: 'G4', 9: 'G4', 10: 'G4'}, 'COL1': {0: 'DJJE):Canis_lupus', 1: 'JUUI):Canis_canis', 2: 'KI):Lupus_lupus', 3: 'IOZ):Felis_sylvestris', 4: 'KI):Felis_felis', 5: 'YY):Canis_lupus', 6: 'SD):Canis_lupus', 7: 'DZ:)Lupus_lupus', 8: 'KUU):O_outan', 9: 'OK:)Felis_sylvestris', 10: 'LK:)Felis_sylvestris'}, 'COL2': {0: 'ABFC', 1: 'YH', 2: 'ZA', 3: 'OP', 4: 'UI', 5: 'ER', 6: 'GH', 7: 'EZ', 8: 'LO', 9: 'IO', 10: 'IU'}, 'COL3': {0: 'Canidae', 1: 'Canidae', 2: 'canidae', 3: 'Falidae', 4: 'Falidae', 5: 'Raninae', 6: 'Raninae', 7: 'Raninae', 8: 'Babounae', 9: 'Babounae', 10: 'Babounae'}, 'COL4': {0: 4, 1: 10, 2: 2, 3: 0, 4: 6, 5: 7, 6: 2, 7: 6, 8: 4, 9: 4, 10: 8}, 'COL5': {0: 3, 1: 12, 2: 12, 3: 2, 4: 8, 5: 9, 6: 3, 7: 8, 8: 8, 9: 8, 10: 9}}


Tags: nag4g1feliscol4caniscol5g3