2017-09-16 24 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

interleave的的protein_IDdf

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