2017-02-24 59 views

回答

4

您可以通過list使用reindex其中前置valuedrop從原來的索引中移除:

val = '<s>' 
idx = [val] + df.index.drop(val).tolist() 
print (idx) 
['<s>', 'noun', 'verb', 'Adj', '<end>'] 

print (df.reindex(idx)) 

     col1 col2 col3 
index     
<s>  9  6  5 
noun  1  1  1 
verb  4  6  1 
Adj  5  1  3 
<end>  0  0  0 
+0

嗯,是可以做到這一點。 –

4

pandas

找到<s>的位置,並建立一個新的位置排序

p = df.index.get_loc('<s>') 
df.iloc[[p] + [i for i in range(len(df)) if i != p]] 

     col1 col2 col3 
index     
<s>  9  6  5 
noun  1  1  1 
verb  4  6  1 
Adj  5  1  3 
<end>  0  0  0 

numpy

a = (df.index.values != '<s>').argsort(kind='mergesort') 
pd.DataFrame(df.values[a], df.index.values[a], df.columns) 

     col1 col2 col3 
index     
<s>  9  6  5 
noun  1  1  1 
verb  4  6  1 
Adj  5  1  3 
<end>  0  0  0 

時間測試

enter image description here

相關問題