我目前有兩個大的資料框架,為了這個問題,我將對其進行濃縮。 資料框架1有一個探針集和成績單的串列。 我必須將成績單與資料框2中的相應成績單相匹配,并獲得每個子專案的資料,如下所示:
Probeset Transcript
0 1554784_at ENST00000547702
1 NaN ENST00000547849
2 212983_at ENST00000311189
3 NaN ENST00000397596
4 1566643_a_at ENST00000587894
然后是下面的資料框架,我需要在其中匹配成績單:
transcript_id phchp230v2 phchp273v3 phchp367v3 phchp201v2
0 ENST00000547702 0.000000 0.000000 0.000000 0.000000
1 ENST00000547849 0.000000 0.000000 0.000000 0.000000
2 ENST00000311189 0.336418 0.044721 0.155847 1.676620
3 ENST00000397596 0.027106 0.016806 0.014509 0.022015[/span
4 ENST00000587894 0.048200 0.089618 0.046528 0.000000
我需要做的是將資料框架1中的成績單與資料框架2中的成績單進行匹配,并獲得資料框架2頂部的那個特定主題的每個成績單中的資料。然而,這些資料中的每一個都有很多資料,所以我將不得不按照我展示的順序搜索成績單和該成績單的相應資料。 預期的輸出結果如圖所示:
Probeset Transcript phchp230v2 phchp273v3 phchp367v3 phchp201v2
0 1554784_at ENST00000547702 0.000000 0.000000 0.000000 0.000000
1 NaN ENST00000547849 0.000000 0.000000 0.000000 0.000000 0.000000
2 212983_at ENST00000311189 0.336418 0.044721 0.155847 1.676620
3 NaN ENST00000397596 0.027106 0.016806 0.014509 0.022015[/span
4 1566643_a_at ENST00000587894 0.048200 0.089618 0.046528 0.000000
uj5u.com熱心網友回復:
你可以通過.merge()來合并它們,如下:
(假設第一個/第二個資料幀分別被稱為df1/df2)
df_out = df1.merge(df2.rename({'transcript_id': 'Transcript'}, axis=1), on='Transcript', how='left')
結果:
print(df_out)
探針組成績單phchp230v2 phchp273v3 phchp367v3 phchp201v2
0 1554784_at ENST00000547702 0.000000 0.000000 0.000000 0.000000
1 NaN ENST00000547849 0.000000 0.000000 0.000000 0.000000 0.000000
2 212983_at ENST00000311189 0.336418 0.044721 0.155847 1.676620
3 NaN ENST00000397596 0.027106 0.016806 0.014509 0.022015[/span
4 1566643_a_at ENST00000587894 0.048200 0.089618 0.046528 0.000000
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/310228.html
標籤:
上一篇:從csv行串列中洗掉逗號
