按索引对pandas Dataframe 进行排序

qnzebej0  于 2023-03-28  发布在  其他
关注(0)|答案(2)|浏览(102)

下面是我的dataframe的一个示例。正如你所注意到的,索引(datetimeindex)没有排序。

Item Details  Unit    Op.  Qty Price  Op. Amt.
Month
2013-04-01           5 In 1   Pcs  -56.0     172.78  -9675.58
2014-01-01         14" Blad   Pcs  -5.0      157.49   -787.45
2013-09-01  Zorrik 311 Gram   Pcs  -1.0      270.01   -270.01

我还想对索引及其相应的行进行排序。我发现了以下对datetimeindex进行排序的方法:

all_data.index.sort_values()

DatetimeIndex(['2013-04-01', '2013-04-01', '2013-04-01', '2013-04-01',
           '2013-04-01', '2013-04-01', '2013-04-01', '2013-04-01',
           '2013-04-01', '2013-04-01',
           ...
           '2014-02-01', '2014-02-01', '2014-02-01', '2014-02-01',
           '2014-02-01', '2014-02-01', '2014-02-01', '2014-02-01',
           '2014-02-01', '2014-02-01'],
          dtype='datetime64[ns]', name=u'Month', length=71232, freq=None)

但它只对索引进行排序;我如何根据排序索引对整个** Dataframe **进行排序?

swvgeqrz

swvgeqrz1#

我想你需要sort_index

all_data = all_data.sort_index()
njthzxwz

njthzxwz2#

df.sort_index()完成这项工作,但如果索引已经单独排序(如OP中所示),并且您希望通过它对 Dataframe 进行排序,那么loc就是您想要的。

sorted_idx = df.index.sort_values()

df = df.loc[sorted_idx]

相关问题