Pandas排序行值

2024-04-27 03:10:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个这样的熊猫数据框:

    Col1  Col2  Col3
1   1092  203   802 

是否可以对该数据帧进行排序并得到如下结果:

    Col1  Col3  Col2
1   1092  802   203 

我试过sort_values但没用。我的工作是df.T.sort_values(...)


Tags: 数据df排序sortcol2col3col1values
2条回答

如果我的数据帧有一个日期时间索引,并且我想对上一个日期时间的值进行排序,会怎么样。我试过:

df.sort_values(by=df.iloc[-1],ascending=False,inplace=True)

以及

df.sort_values(by=df.index[-1],ascending=False,inplace=True)

我得到错误:“exption Unhandled Timestamp('2018-12-05 20:12:10')”

我的索引类型是“datetime64”

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

相关问题 更多 >