2017-04-05 12 views
1

コード化する必要のあるハプロタイプをコード化する必要があります。私は305行と129902列のパンダのデータフレームにそれらを持って、それはこのようになります(1列のみと20行):Python - PandasのApply関数で値のインデックスを取得する

rs#             rs12914615 
SNPalleles             C/T 
chrom              chr15 
pos             98259206 
strand              + 
genome_build           ncbi_B36 
center            affymetrix 
protLSID  urn:LSID:affymetrix.hapmap.org:Protocol:Genome... 
assayLSID  urn:LSID:affymetrix.hapmap.org:Assay:SNP_A-837... 
panelLSID   urn:lsid:dcc.hapmap.org:Panel:CEPH-30-trios:1 
QC_code              QC+ 
NA06985              CT 
NA06991              CT 
NA06993              CT 
NA06993.dup             CC 
NA06994              CC 
NA07000              CC 
NA07019              CT 
NA07022              CT 

アイデアは、個々の(NA06の値場合と比較することです。.. 。)は、野生型(SNPalleles行の最初の文字)と共通のヌクレオチドを持っているか、そうでなければそれに応じてコードします。

私の疑問は、同じ列の他の行にあるその野生型を参照しながらデータフレームを反復する方法がわからないことです。

出力は次のようになります。

NA06985              1 
NA06991              1 
NA06993              1 
NA06993.dup             0 
NA06994              0 
NA07000              0 
NA07019              1 
NA07022              1 

は0野生型(この遺伝子のCC)、1ヘテロ接合体(CT)と2変異型ホモ接合体(TT)であること。

ありがとうございました。

答えて

1
df.filter(
    like='NA', axis=0 
).eq(df.loc['SNPalleles'].str.replace('/', '')).astype(int) 

      rs12914615 
rs#      
NA06985    1 
NA06991    1 
NA06993    1 
NA06993.dup   0 
NA06994    0 
NA07000    0 
NA07019    1 
NA07022    1 
+0

"ValueError:重複軸から再インデックスできません"というコードが返されます。 – Hjorvik

関連する問題