2016-11-05 90 views
3

我有一個熊貓數據幀是這樣的:熊貓排序行值

Col1 Col2 Col3 
1 1092 203 802 

是否有可能解決這數據幀,並得到這樣的結果:

Col1 Col3 Col2 
1 1092 802 203 

我試圖sort_values,但它不」工作。我的工作是df.T.sort_values(...)

+1

你只有一個行?或者你想根據第一行進行排序? –

+0

您的解決方案是轉移,排序和轉置,是目前的解決方案。看到[這篇文章](http://stackoverflow.com/questions/34689164/how-do-i-sort-a-dataframes-columns-based-on-the-values-in-multiple-rows)和[錯誤報告](https://github.com/pandas-dev/pandas/issues/10806)。 – 3novak

+0

@NickilMaveli我只有一排 – Cheng

回答

7

0.19.0開始,您可以根據行值對列進行排序。

df.sort_values(by=1, ascending=False, axis=1) 

enter image description here


條形圖:

使用ggplot:

melt_df = pd.melt(df, var_name='Cols') 
ggplot(aes(x="Cols", weight="value"), melt_df) + geom_bar() 

Image

使用內置:

melt_df.plot.bar(x=['Cols'], y=['value'], legend=False, cmap=plt.cm.Spectral) 
plt.show() 

Image

+0

嘿,這是一個非常好的新功能!我錯過了...... – MaxU

+1

是的。現在你可以將它添加到你的技術曲目中:-) –

+1

@Cheng,使用'ggplot'庫和內置方法繪製。(*請參閱編輯*)注意在使用ggplot時,酒吧不遵循順序。 –