Python中pandas库的sort_index、set_index和reser_index的用法

sort_values

含义:

sort_values()函数,可以将数据集依照某个字段中的数据进行排序,该函数即可根据指定列数据也可根据指定行的数据排序。

参数说明:

# 参数
DataFrame.sort_values(by,axis = 0,ascending = True,inplace = False,kind =' quicksort ',na_position ='last'#参数说明
by: strstr的列表,如果axis=0或axis='index',那么by='列名';如果axis=1或axis='columns',那么by='行名'
axis: {0'index';1'columns'} 默认为0,即纵向排序,如果为1,则为横向排序
ascending: 布尔型,默认为True,即升序
inplace: 布尔型,是否用排序后的数据代替现有数据
kind: 排序算法, {'quicksort''mergesort''heapsort'},默认'quicksort'
na_position: {'first''last'},默认'last' ,即将缺失值放在最后。

例子:

import pandas as pd
import numpy as np
frame = pd.DataFrame(np.arange(12).reshape((3,4)),
                     columns=list('ABCD'))

# 沿着A列方向倒向排序  
frame1 = frame.sort_values(by='A',ascending=False)
print('\nframe1:')
print(frame1)

========output========

frame1:
   A  B   C   D
2  8  9  10  11
1  4  5   6   7
0  0  1   2   3

# 沿着索引为1的行方向倒向排序
frame2 = frame.sort_values(by= 1,axis=1,ascending=False)
print('\nframe2:')
print(frame2)

========output========

frame2:
    D   C  B  A
0   3   2  1  0
1   7   6  5  4
2  11  10  9  8

set_index

含义:

重新设置某一列或多个列作为索引

参数说明:

# 参数
DataFrame.set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False)
#参数说明
key: 要用做新索引的列的索引名
drop: 布尔值,默认为True,即删除要用作新索引的列
append: 布尔值,默认为False,是否将列附加到现有索引即默认情况下是将原有索引替代,为True时,原有索引不会被删除,现在要添加的索引会被附加在原有索引后。生成一个二层索引
inplace: 布尔值,默认为False,即是否修改原数据
verify_integrity: 布尔值, 默认False,检查新索引是否有重复项。为True时,如果新索引有重复项,Python会报错。 

例子:

import pandas as pd
import numpy as np
frame = pd.DataFrame(np.arange(12).reshape((3,4)),
                     columns=list('ABCD'))

# 设置列'C'和'D'为索引,同时不删除'C'和'D'列
frame1 = frame.set_index(['C','D'],drop=False)
print('\nframe1')
print(frame1)

========output========

frame1:

       A  B   C   D
C  D
2  3   0  1   2   3
6  7   4  5   6   7
10 11  8  9  10  11

reset_values

含义:

reset_values是set_index的反操作,会将索引移动到列中

你可能感兴趣的:(数据分析)