【问题标题】:How to sort dataframe in numerical ascending order?如何按数字升序对数据框进行排序?
【发布时间】:2016-09-24 01:55:06
【问题描述】:

我的数据框包含两列。我想按数字升序对这个 Dataframe 进行排序。我试图对其进行排序,但它会按我不想要的字母顺序排序。

我尝试使用以下代码:

程序代码-

dfs.sort_index(ascending=True,inplace=True)

我参考此链接以获取重复问题: this_link

但是当我打印我的数据框时,我的第 0 列是值。但我想使用第一个索引的 1021、3、4、5 等键进行排序。

           0
0 1021    00
  3       88
  4       18
  5       IB
  8     7.75
  854      n
  9      829

           0
0 1021    00
  3       88
  4       18
  5       IB
  8     7.75
  854      n
  9      829

数据帧:

1021    1500
1584   88929
3       1388
388   157.75
394   157.75
4       1388
444      n/a
474   157.75
5        IBM
8     157.75
854        n
9      88929

预期输出-

3       1388
4       1388
5        I
8     157.75
9      88929
388   157.75
394   157.75
444      n/a
474   157.75
854        n
1021    1500
1584   88929

有没有办法像这样对 Dataframe 进行排序?

【问题讨论】:

标签: python sorting pandas dataframe


【解决方案1】:

通过强制显式a = a[:,0].astype(int) 确保值是数字。然后尝试a[a[:, 0].argsort()],其中a 是数据框,0 是列索引。 更多关于语法 - http://docs.scipy.org/doc/numpy/reference/generated/numpy.argsort.html

【讨论】:

  • 看我的问题。我的列索引 0 是值,我想按这些键排序。
猜你喜欢
  • 1970-01-01
  • 2022-01-04
  • 1970-01-01
  • 2021-05-17
  • 2011-12-09
  • 2013-08-06
  • 1970-01-01
  • 2012-11-29
  • 1970-01-01
相关资源
最近更新 更多