私は3人のテーブルとそのDNA配列を持っています。各人の完全なゲノムは、2つの遺伝子(紐):gene1およびgene2(すなわちfull_genome = gene1+gene2
)から成り、誤った重複した項目があることがあります。Python Pandas:文字列の最大長の選択
:すべてのこれらのうち10に行5にエリックのため
row_num | name | gene_name | dna_sequence
--------|--------|-----------|--------------
1 | sarah | gene 1 | aaaaaaaaaa
2 | sarah | gene 2 | gggggggggg
3 | charles| gene 1 | aaaattttt
4 | charles| gene 2 | ggggggtttt
5 | eric | gene 1 | aaa
6 | eric | gene 2 | cccccccccc
7 | eric | gene 1 | aaaaa
8 | eric | gene 2 | cccc
9 | eric | gene 1 | a
10 | eric | gene 2 | c
注重複したエントリを、私はちょうど最長の全配列を選択します(すなわちargmax(len(gene1)+len(gene2))
)、行遺伝子は常にペアで来ること
name | gene1 | gene2
-------|------------|-----------
sarah | aaaaaaaaaa | gggggggggg
charles| aaaattttt | ggggggtttt
eric | aaaaaaaaaa | cccccccccc
注:5と6私はまた、最終的に終わるためにテーブルを回転したい各データソースは、1つのファイルとして自分のデータを送信し、テーブルを形成しましたファイルごとに読み込みます。以下のようにエリックの場合には、総遺伝子の長さは、次のとおり
- 行5 & 6:3 + 10 = 13
- 行7 & 8:5 + 4 = 9
- 行9 & 10: 1 + 1 = 2
最長の総遺伝子長に基づいて、私は5行目と6行目を保持し、残りは破棄します。
私はpivot()、transpose()などを試しましたが、むしろ鶏肉の卵になりました。重複したエントリのためにテーブルを希望するフォームにピボットすることはできませんが、重複したエントリがどこから来たのかを知ることは容易ではないため、合計の長さを測定することはできません。
私は現在、私は重複を区別することができるように、duplicate_index
列を追加しようとしている:これらのエントリは、常にペアで
row_num | name | gene_name | dna_sequence | dupe_index
--------|--------|-----------|--------------|------------
1 | sarah | gene 1 | aaaaaaaaaa | 0
2 | sarah | gene 2 | gggggggggg | 0
3 | charles| gene 1 | aaaattttt | 0
4 | charles| gene 2 | ggggggtttt | 0
5 | eric | gene 1 | aaa | 0
6 | eric | gene 2 | cccccccccc | 0
7 | eric | gene 1 | aaaaa | 1
8 | eric | gene 2 | cccc | 1
9 | eric | gene 1 | a | 2
10 | eric | gene 2 | c | 2
に来るのですか? 「a」、「cccc」、「aa」、「cc」、「a」、「cccc」のペアが必要ですか? – DSM
うん、それはまさに正しい。これを反映するために質問を編集しました。 – AndreyIto