Pandas 中如何按照列进行排序

在 Pandas 中,您可以使用 sort_values() 方法按照一个或多个列的值来排序 DataFrame。这个方法非常灵活,允许您指定排序的列、排序的方向(升序或降序),以及其他一些选项。下面是一些常见的使用场景:

基本用法

假设您有一个名为 df 的 DataFrame,并且想根据某个列 column_name 来排序:

df.sort_values(by='column_name', inplace=True)

这将会根据 column_name 列的值以升序对 df 进行排序。如果要降序排序,可以这样做:

df.sort_values(by='column_name', ascending=False, inplace=True)

按多列排序

如果您想根据多个列来排序,可以将列名作为列表传递给 sort_values()

df.sort_values(by=['first_column', 'second_column'], inplace=True)

这会首先根据 first_column 进行排序,如果存在相同的值,则根据 second_column 进行排序。

其他选项

  • na_position 参数可以用来控制 NaN 值的排序位置('first''last')。
  • ignore_index 参数如果设置为 True,将重置索引到默认整数索引。

例如,如果您想让 NaN 值排在最后,并且重置索引:

df.sort_values(by='column_name', na_position='last', ignore_index=True, inplace=True)

通过这些方法,您可以根据需要灵活地对 Pandas DataFrame 进行排序。

发表回复

登录... 后才能评论