Объединить информацию из одного кадра данных в другой на основе соответствующего столбца - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть один кадр данных (con), который выглядит следующим образом:

tag                         Consequence
HSB670|ENSG00000147996      upstream_gene_variant
HSB666|ENSG00000147996      upstream_gene_variant
HSB651|ENSG00000174749      downstream_gene_variant
HSB195|ENSG00000188157      splice_variant

И второй кадр данных (period), который выглядит следующим образом:

Sample      expr        Gene                Period  tag
"HSB651"    3.207474    "ENSG00000174749"   4       HSB651|ENSG00000174749
"HSB670"    3.797228    "ENSG00000147996"   4       HSB670|ENSG00000147996
"HSB195"    0.214731    "ENSG00000188157"   4       HSB195|ENSG00000188157 
"HSB666"    3.663308    "ENSG00000147996"   5       HSB666|ENSG00000147996

Я хочу объединить информацию о последствиях от con до period. У них есть общие столбцы tag, поэтому, в общем, где бы теги не были похожи, я хочу, чтобы панды нашли соответствующий Consequence и добавили его в period фрейм данных. В итоге это должно выглядеть так:

Sample      expr        Gene                Period  tag                     Consequence 
"HSB651"    3.207474    "ENSG00000174749"   4       HSB651|ENSG00000174749  downstream_gene_variant
"HSB670"    3.797228    "ENSG00000147996"   4       HSB670|ENSG00000147996  upstream_gene_variant
"HSB195"    0.214731    "ENSG00000188157"   4       HSB195|ENSG00000188157  splice_variant
"HSB666"    3.663308    "ENSG00000147996"   5       HSB666|ENSG00000147996  upstream_gene_variant

Я пробовал это, но это дает мне странные результаты:

merge = pd.merge(period, con, on="tag", how="left")

Результаты:

   SampleID      expr             Gene  Period                     tag      Consequence  
0    HSB670  3.797228  ENSG00000147996       4  HSB670|ENSG00000147996      NaN  
1    HSB666  3.663308  ENSG00000147996       5  HSB666|ENSG00000147996      upstream_gene_variant   
2    HSB666  3.663308  ENSG00000147996       5  HSB666|ENSG00000147996      upstream_gene_variant   
3    HSB666  3.663308  ENSG00000147996       5  HSB666|ENSG00000147996      upstream_gene_variant   
4    HSB666  3.663308  ENSG00000147996       5  HSB666|ENSG00000147996      upstream_gene_variant   
5    HSB651  3.207474  ENSG00000174749       4  HSB651|ENSG00000174749      downstream_gene_variant       
6    HSB651  3.207474  ENSG00000174749       4  HSB651|ENSG00000174749      downstream_gene_variant   
7    HSB651  3.207474  ENSG00000174749       4  HSB651|ENSG00000174749      downstream_gene_variant   
8    HSB651  3.207474  ENSG00000174749       4  HSB651|ENSG00000174749      downstream_gene_variant   
9    HSB651  3.207474  ENSG00000174749       4  HSB651|ENSG00000174749      downstream_gene_variant   
10   HSB195  0.214731  ENSG00000188157       4  HSB195|ENSG00000188157      splice_variant   
11   HSB195  0.214731  ENSG00000188157       4  HSB195|ENSG00000188157      splice_variant   
12   HSB195  0.214731  ENSG00000188157       4  HSB195|ENSG00000188157      splice_variant 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...