pandas 数据排序
2019-07-22 本文已影响0人
YuAllon
写在前面的话
在处理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