【问题标题】:Pandas sort row valuesPandas 对行值进行排序
【发布时间】:2018-12-21 11:50:35
【问题描述】:

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

    Col1  Col2  Col3
1   1092  203   802 

是否可以对这个dataframe进行排序,得到这样的结果:

    Col1  Col3  Col2
1   1092  802   203 

我尝试了sort_values,但它不起作用。我的工作是df.T.sort_values(...)

【问题讨论】:

  • 你只有一排吗?还是要按照第一行排序?
  • 你的转置、排序和再​​次转置的解决方案是当前的解决方案。见this postbug report
  • @NickilMaveli 我只有一排

标签: python pandas


【解决方案1】:

0.19.0开始,您可以根据行值对列进行排序。

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


条形图:

使用ggplot:

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

使用内置:

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

【讨论】:

  • 呃,如果你的表不止一行,这不起作用,对吧?
猜你喜欢
  • 2016-09-14
  • 2017-04-28
  • 2016-04-08
  • 2021-03-21
  • 1970-01-01
  • 2018-04-11
  • 1970-01-01
  • 2020-06-24
相关资源
最近更新 更多