您好,我需要帮助才能从此文件中创建一个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,然后通过添加新的列和字母来填充它。
这是一个例子:
G1
由3 different Names
组成(在:)
模式之后):
-Canis_lupus
-Canis_canis
-Lupus_lupus
然后如果COL4
和COL5
的值都为> 5
,则在新的df中分配值A
如果COL4
和COL5 < 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 > 5
和COL4 and COL5 < 5
的情况:
row5
和row6
中Canis_lupus
中Raninae
,然后是A> B,所以我给字母A。
如果COL4 > 5
和COL5 < 5
,那么我给字母B
如果COL4 < 5
和COL5 > 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}}