使用熊猫以便从另一个创建一个新的df并用条件填充它

时间:2020-06-02 14:23:03

标签: python pandas dataframe

您好,我需要帮助才能从此文件中创建一个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都将一列COL3作为第一列创建一个df,然后通过添加新的列和字母来填充它。

这是一个例子:

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

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

例如DJJE):Canis_lupus都具有COL4 and COL5 < 5,则Canis_lupus中的Canidae将具有B值。

YY):Canis_lupus中的G3 h保留COL4 and COL5 > 5,然后Canis_lupus中的Raninae将具有A

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

row5row6Canis_lupusRaninae,然后是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}}

0 个答案:

没有答案