2017-09-16 1 views
1

私はタンパク質IDのリストを持っており、各行の前に '> 1'、 '> 2'、 '> 3'、......>> len(list) 'を追加したいと思います。私はパンダでこれをどうやってすることができますか?パンダの各行にヘッダーを追加するには?

例:

protein_ID 
KKP65897.1 
KKP42119.1 
KKP91065.1 
OGY93232.1 
KUK66913.1 

私はそれになりたい:

protein_ID 
>1  
KKP65897.1 
>2  
KKP42119.1 
>3  
KKP91065.1 
>4  
OGY93232.1 
>5  
KUK66913.1 

私はこれを行う場合:

for num, line in enumerate(df.protein_ID): 
    print(num, line) 

を私が手:

0 K 
1 K 
2 P 
3 6 
4 5 
5 8 
6 9 
7 7 
8 . 
9 1 
10 

どうすればいいですか?ありがとう!

+0

私はデータを保存するとして、それを必要とする場合。 – stevex

答えて

0

interleaveprotein_IDの値とdf

In [619]: from cytoolz import interleave 

In [620]: pd.DataFrame({'protein_ID': list(
     interleave(['>' + (df.index+1).astype(str), df.protein_ID]))}) 
Out[620]: 
    protein_ID 
0   >1 
1 KKP65897.1 
2   >2 
3 KKP42119.1 
4   >3 
5 KKP91065.1 
6   >4 
7 OGY93232.1 
8   >5 
9 KUK66913.1 

indexは、あなただけのリスト

In [625]: ['protein_ID']+list(interleave(['>' + (df.index+1).astype(str), df.protein_ID])) 
Out[625]: 
['protein_ID', 
'>1', 
'KKP65897.1', 
'>2', 
'KKP42119.1', 
'>3', 
'KKP91065.1', 
'>4', 
'OGY93232.1', 
'>5', 
'KUK66913.1'] 

詳細

In [621]: df 
Out[621]: 
    protein_ID 
0 KKP65897.1 
1 KKP42119.1 
2 KKP91065.1 
3 OGY93232.1 
4 KUK66913.1 
+0

ありがとうございます! – stevex

関連する問題