Я работаю с двумя панелями данных pandas: alignmentdf и genbankdf.
alignmentdf содержит «выравнивание последовательности ДНК» в качестве кадра данных, с индексом в качестве «идентификаторов таксономии», это просто целые числа и столбцы, представляющие номера кодонов (в виде целых чисел)
genbankdf содержит данные об «использовании кодонов» для всех известных таксономий, поэтому снова с индексом снова идентификаторы таксономии и столбцы, представляющие частоты кодонов на 1000 кодонов.
Я хочу создать новый фрейм данных, df3, который будет проходить столбец за столбцом в alignmentdf, проходить по строкам, находить соответствующий индекс (т. Е. Таксономический идентификатор) в genbankdf, выполнять вычисления с использованием значений в genbankdf в зависимости от того, какой кодон «У меня есть файл alignmentdf, и я вывожу его в df3, который во всех отношениях идентичен alignmentdf, но кодоны заменяются вычисленными значениями.
Я новичок в модуле pandas, и я сделал несколько учебных пособий с использованием поиска на youtube и google - и я подозреваю, что мне, возможно, придется использовать функцию ".apply", но я озадачен синтаксисом, который мне нужен для выполнения Я хочу.
alignmentdf.head(5)
Out[38]:
0 1 2 3 \
1076443 gi|1361169408|ref|WP_106366082.1| NAD(P)-depen... ATG AAA GCC
1076450 gi|1184222407|gb|OSC61482.1| alcohol dehydroge... ATG AAA GCC
110934 gi|947160360|ref|WP_055933433.1| MULTISPECIES:... ATG AAG GCG
1156841 gi|517339444|ref|WP_018514936.1| NAD(P)-depend... ATG AAA GCC
1156844 gi|517353486|ref|WP_018528978.1| NAD(P)-depend... ATG AAG GCA
4 5 6 7 8 9 ... 345 346 347 348 349 350 351 \
1076443 CTG CAA TAC CGC GAG ATC ... GGG CGC GCG GTG ATC CTG CCG
1076450 GTT CAG TAC CGA GCC GTC ... GGC AGG GCC GTC ATC CTC CCC
110934 CTC CAG TAC ACG ACC ATC ... GGT CGC GCG GTG ATC CTG CCC
1156841 GTC CAG TAC CGG GCC GTC ... GGC CGC GCG GTG ATC CTG CCG
1156844 CTG CAG TAC CGG AGC GTC ... GGC CGC GCG GTG ATC CTG CCC
352 353 354
1076443 --- --- TGA
1076450 --- --- TGA
110934 --- --- TGA
1156841 --- --- TGA
1156844 --- --- TGA
[5 rows x 355 columns]
genbankdf.head(5)
Out[40]:
Division Assembly Species Organelle \
Taxid
939668 genbank NaN gamma proteobacterium SCGC AAA240-C10 genomic
1938820 genbank NaN Serratia sp. JKS000199 genomic
768468 genbank NaN Dulcina sp. TB-2010 gill endosymbiont genomic
1549058 genbank NaN Bradyrhizobium sp. dxwr4 genomic
477226 genbank NaN Pseudomonas sp. SY6 genomic
Translation Table # CDS # Codons GC% GC1% GC2% ... CGA \
Taxid ...
939668 11 1 122 59.02 58.20 46.72 ... 1
1938820 11 4700 1498667 61.12 63.10 42.49 ... 2886
768468 11 1 165 51.72 61.21 40.61 ... 0
1549058 11 5 993 60.99 61.23 40.89 ... 1
477226 11 1 230 66.38 65.65 47.39 ... 1
CGG AGT AGC AGA AGG GGT GGC GGA GGG
Taxid
939668 3 0 3 0 0 6 1 1 2
1938820 14562 4320 35109 1770 1655 14372 79485 4405 17593
768468 0 0 0 0 0 16 3 0 0
1549058 10 2 11 1 3 21 53 8 6
477226 3 0 6 0 1 1 8 0 4
[5 rows x 75 columns]
Я ожидаю, что кадр данных (df3) будет идентичен выравниванию df, но кодон заменяется вычислением «смещения использования кодона», определяемого значениями в строке genbankdf с тем же индексом, что и alignmentdf.