pandas 数据排序

写在前面的话

在处理WISE的数据时,会遇到同时处理好几列的数据,如星系的亮度,观测时间等。在处理这些数据时,会按照时间将WISE数据分成不同的时间组(如:某一天内的数据全部放到一起),自己用Python实现这个要求时便希望能将WISE数据先根据时间大小拍好序,同时跟时间相关的其它数据也能同时变化。这里,我使用了pandas的数据排序函数,实现了上面的需求,现记录如下。

pandas.DataFrame.sort_values()函数

DataFrame.sort_values(self, by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last')

参数:

Parameter Meaning
by 待排序行或列的名字
axis axis=0对列排序;axis=1对行排序。默认为0值
ascending 排序的方式,升序or降序。默认为ascending=True,升序排列
inplace 排序后是否在原数据上修改。默认inplace=False,不再原数据上修改,返回一个新的排序结果
kind 采用排序的算法:{‘quicksort’, ‘mergesort’, ‘heapsort’}
na_poition 缺失值NAN的位置,默认last放在最后,(first放在最前)

例子:

import numpy as np
import pandas as pd
df = pd.DataFrame({
    'col1':['a','a','b',np.nan,'c'],
    'col2':[2, 1, 8, 7, 6],
    'col3':[0, 4, 7, 2, 3],
})
df
    col1 col2 col3
0   a    2    0
1   a    1    4
2   b    8    7
3   NaN  7    2
4   c    6    3

df.sort_values(by=['col1'])

    col1 col2 col3
0   a    2    0
1   a    1    4
2   b    8    7
4   c    6    3
3   NaN  7    2

参考文献:pandas.DataFrame.sort_values

2019-07-22

你可能感兴趣的:(pandas 数据排序)