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