6.series重塑与排序

### 目录 ###

[1]Series.sort_values()  按值排序。

[2]Series.sort_index()   按索引标签排序系列。

[3]Series.argmin()   返回最小行标签

[4]Series.argmax()   返回最大行标签

[5]Series.repeat()   重复series的元素



 

### 内容 ###

[1]Series.sort_values()

1.语法参数

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

axis:{0 or ‘index’},default 0

ascending : default True ,True为升序,False为降序

inplace:默认为False,为True时则原series更改排序

kind:选择排序算法,{'quicksort','mergesort'或'heapsort'},默认'quicksort'

na_position:{'first'或'last'},默认'last' ,当为first时将NaNs置于开头

 

2.案例

s = pd.Series([np.nan, 1, 3, 10, 5])

s.sort_values(ascending=True)

s.sort_values(ascending=False, inplace=True)

s.sort_values(na_position='first')


 

[2]Series.sort_index()

1.语法参数

Series.sort_index(axis = 0,level = None,ascending = True,inplace = False,kind =' quicksort ',na_position ='last',sort_remaining = True )

axis:{0 or ‘index’},default 0

level: int,可选,如果不是None,则对指定索引级别的值进行排序。

ascending : default True ,True为升序,False为降序

inplace:默认为False,为True时则原series更改排序

kind:选择排序算法,{'quicksort','mergesort'或'heapsort'},默认'quicksort'

na_position:{'first'或'last'},默认'last' ,当为first时将NaNs置于开头

sort_remaining:bool,默认为True,如果为true并且按级别和索引排序是多级的,则在按指定级别排序后,按其他级别排序(按顺序)。

 

2.案例

#指定要排序的索引级别

>>> arrays = [np.array(['qux', 'qux', 'foo', 'foo','baz', 'baz', 'bar', 'bar']),

np.array(['two', 'one', 'two', 'one','two', 'one', 'two', 'one'])]

>>> s = pd.Series([1, 2, 3, 4, 5, 6, 7, 8], index=arrays)

>>> s.sort_index(level=1)

bar one 8

baz one 6

foo one 4

qux one 2

bar two 7

baz two 5

foo two 3

qux two 1

dtype: int64

 

#按级别排序时,不按剩余级别排序

>>> s.sort_index(level=1, sort_remaining=False)

qux one 2

foo one 4

baz one 6

bar one 8

qux two 1

foo two 3

baz two 5

bar two 7

dtype: int64


 

[3]Series.argmin()  返回最小行标签

1.语法参数

Series.argmin(axis = 0,skipna = True)

axis : 默认值为0,表示行,1表示列

skipna :默认为True,表示排除NA / null值。如果整个系列是NA,则结果为NA。

 

2.案例

>>> s = pd.Series(data=[1, None, 4, 1],

... index=['A' ,'B' ,'C' ,'D'])

>>> s

A 1.0

B NaN

C 4.0

D 1.0

dtype: float64

>>> s.idxmin()

'A'

 

[4]Series.argmax()  返回最大行标签

1.语法参数

Series.argmin(axis = 0,skipna = True)

axis : 默认值为0,表示行,1表示列

skipna :默认为True,表示排除NA / null值。如果整个系列是NA,则结果为NA。

 

2.案例

>>> s = pd.Series(data=[1, None, 4, 3, 4],

... index=['A', 'B', 'C', 'D', 'E'])

>>> s

A 1.0

B NaN

C 4.0

D 3.0

E 4.0

dtype: float64

>>> s.idxmax()

'C'


 

[5]Series.repeat()  重复series的元素

1.语法参数

Series.repeat(repeats, axis=None)

repeats:int或int数组,每个元素的重复次数。这应该是一个非负整数。重复0次将返回一个空系列。

axis:None,必须是None

 

2.案例

>>> s = pd.Series(['a', 'b', 'c'])

>>> s

0 a

1 b

2 c

dtype: object

>>> s.repeat(2)

0 a

0 a

1 b

1 b

2 c

2 c

dtype: object

>>> s.repeat([1, 2, 3])

0 a

1 b

1 b

2 c

2 c

2 c

dtype: object



 

你可能感兴趣的:(python,pandas,series,api)