У меня есть файл CSV с 6 столбцами.Я загружаю его в память и обрабатываю несколькими способами.Мой результат - фрейм данных с 4 столбцами выглядит так:
name number Allele Allele
aaa 111 A B
aab 112 A A
aac 113 A B
Но теперь я получил CSV с другим форматом (без Illumina), и мне нужно изменить его на выше.
У меня естьрезультат:
name number Allele1 Allele2
aaa 111 A C
aab 112 A G
aac 113 G G
Я знаю, как изменить формат, например, AG == AB, GG == AA, CC == AA (тоже) и т. д. Но это лучший способ сделать это, чем дляцикл?
Скажем так:
for line in range(len(dataframe)):
if(dataframe.Allele1[line] == A and dataframe.Allele2[line] == G):
dataframe.Allele1[line] = A
dataframe.Allele2[line] = B
elif:
etc.
Я чувствую, что это не лучший метод для решения этой задачи.Meaby - лучший способ в пандах или просто в питоне?
Мне нужно изменить этот формат на формат Illumina, потому что база данных имеет дело с Illumina.
И: в illumina AA = AA, CC, GG;AB = AC, AG, AT, CT, GT;BB = CG, TT и т. Д.
So if row[1] in col Allele1 is A and in Allele2 is T, edited row will be: Allele1 = A, Allele2 = B.
Ожидаемый результат:
name number Allele1 Allele2
aaa 111 A B
aab 112 A B
aac 113 A A
В результате я ДОЛЖЕН иметь 4 столбца.