Python-如何从一列中排序pandas数据框

我有一个像这样的数据框:

print(df)

0 1 2

0 354.7 April 4.0

1 55.4 August 8.0

2 176.5 December 12.0

3 95.5 February 2.0

4 85.6 January 1.0

5 152 July 7.0

6 238.7 June 6.0

7 104.8 March 3.0

8 283.5 May 5.0

9 278.8 November 11.0

10 249.6 October 10.0

11 212.7 September 9.0

如你所见,月份不是按日历顺序排列的。因此,我创建了第二列以获取与每月(1-12)相对应的月份数。从那里,如何根据日历月的顺序对数据框进行排序?

回答:

用于sort_values按特定列的值对df进行排序:

In [18]:

df.sort_values('2')

Out[18]:

0 1 2

4 85.6 January 1.0

3 95.5 February 2.0

7 104.8 March 3.0

0 354.7 April 4.0

8 283.5 May 5.0

6 238.7 June 6.0

5 152.0 July 7.0

1 55.4 August 8.0

11 212.7 September 9.0

10 249.6 October 10.0

9 278.8 November 11.0

2 176.5 December 12.0

如果要按两列排序sort_values,请将列标签列表传递给,并按排序优先级对列标签进行排序。如果使用df.sort_values(['2', '0']),则结果将按列2然后按列排序0。当然,对于这个示例,这实际上没有任何意义,因为其中的每个值df['2']都是唯一的。

以上是 Python-如何从一列中排序pandas数据框 的全部内容, 来源链接: utcz.com/qa/433873.html

回到顶部