2016-06-30 13 views
0

私はタブファイルを持っており、遺伝子の機能(上流、下流、下流、注釈、または...)を標準機能に分割したいと考えています。 最後の2つの列は、作成したいcond_aとcond_bの結果列です。 タプル内の各行を保存してタプルを検索し、除算を行うことができるコードを書いていましたが、それは私にとっては紛らわしいものでした。 これをPythonでどうやって行うことができますか?Pythonで列の値を特定の行でどのように分けることができますか?

for line in open(myfile,"r").readlines(): 
    Fld = line.strip().split("\t") 
    gene,feature,cond_a,cond_b= Fld[0],Fld[1],int(Fld[2]),int(Fld[3]) 

gene feature cond_a cond_b  
A upstream 2  5 2/5 5/8 
A standard 5  8 5/5 8/8 
C standard 4  23 4/4 23/23 
D downstrs 3  1 3/9 1/5 
D standard 9  5 9/9 5/5 
H standard 2  9 2/2 9/9 
H downupst 1  2 1/2 2/9 
H annotate 4  8 4/2 8/9 
+0

あなたの質問を明確にしてください。最後の2つの行がどのように計算されると予想されるかははっきりしない。また、これまで計算しようとしてきたことを示してください。 – SiHa

+0

各遺伝子には標準機能が1つしかありませんが、他にも多くの機能があります。遺伝子を標準にする。私はRでそれを行う方法を知っていますが、私はPythonでそれをどうやって行うことができないのか分かりませんでした。 – NamAshena

答えて

0

それはあなたが望むものを正確に伝えるのは難しいです(今後の参考のためには、フィールドに関連していると関連のプログラミングではない技術的な詳細を除外するのが最善です - 支援するための遺伝子について何も知らない私たちにとって、それが容易になります)、これらの2つの列を正確にどのように計算しているかはわかりません。しかし、これはパンダの仕事のように見えます。あなたがそれをロードし、あなたのデータのために

import pandas as pd 
data = {'gene':['A', 'C', 'D'], 'cond_a':[2,3,4], 'cond_b':[5,6,7]} 
df = pd.DataFrame(data) 

df['new_col'] = df['cond_a']/df['cond_b'] 

:あなたは、このような単純な例を行うだろう

df = pd.read_csv(myfile, delimiter='/t') 

あなたが他の列を計算しているしかし、あなたはパンダとかなり簡単にそれを行うことができます。さらに、さまざまなカテゴリをグループ化してサブセットなどを処理することもできます。

0

ありがとうございますが、これは私が計算したいものではありません。最初の2/5は最初の行(2)を2番目の行(5)(遺伝子Aの標準)に分けています。 1の最後の行である標準であるので5/5は(4/2)自体に分割ある数6
Aの行に最後の行に分割される_____上流_____ 2 _____ 2/5
A _____標準_____ 5 _____ 5/5
C _____標準_____ 4 _____ 4/4
D _____ downstrs ____ 3 _____ 3/9
D _____標準_____ _____ 9 9/9
H _____標準_____ _____ 2 2/2
H _____ downupst ____ 1 _____ 1/2
H _____ _____注釈4 _____ 4/2

+0

質問をはっきりと説明してください。H _____標準_____ 2 _____ 2/2なぜ2/1を分けて2/1にしないのか、そして次の文をなぜ1/4にしないのですか? – Jeril

+0

ありがとう、それは標準自体であり、1に等しいそれ自体に分割する必要があります。遺伝子Hしかなければ、その遺伝子内で非標準を標準に分けたいと思います。これは、遺伝子Hの分割を示している:H_____downupst____1はH_____standard_____2 H_____downupst____1に分割されなければならないH_____standard_____2 – NamAshena

+0

H_____downupst____1に分割されなければならないH_____standard_____2 H_____standard_____2に分割されなければならないH_____standard_____2に分割されなければならない(1/2) – NamAshena

関連する問題