2017-01-28 34 views
0

我有一個數據框,其中包含幾列,包括一個列「C」或「P」,另一列包含一個雙。在Pandas中排序

我想先排序,這樣所有的「C」在一起,然後不用搞亂那個排序,按雙打排序。因此,例如:

"C", 10.05 
"P", 11.00 
"P", 10.15 
"C", 10.20 
"C", 10.30 
"P", 9.50 

應該得到歸類爲

"C", 10.05 
"C", 10.20 
"C", 10.30 
"P", 9.50 
"P", 10.15 
"P", 11.0 

當我使用

df.sortlevel(["c_or_p_column", "value_column"], sort_remaining=False) 

我得到錯誤,例如,

"P", 9.50 
"C", 10.05 
"P", 10.15 
"C", 10.20 
"C", 10.30 
"P", 11.00 

回答

1
df = pd.DataFrame([["C", 10.05], 
    ["P", 11.00], 
    ["P", 10.15], 
    ["C", 10.20], 
    ["C", 10.30], 
    ["P", 9.50]], 
    columns=['c_or_p_column', 'value_column'] 
) 

df.sort_values(['c_or_p_column', 'value_column'], ascending=True) 
相關問題