如何按数字升序对数据框进行排序?

时间:2016-07-15 11:05:54

标签: python sorting pandas dataframe

我的Dataframe包含两列。我想以数字升序对此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

DataFrame:

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进行排序?

1 个答案:

答案 0 :(得分:0)

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