溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python數(shù)據(jù)處理之pd.Series()函數(shù)怎么使用

發(fā)布時(shí)間:2022-06-23 09:51:49 來源:億速云 閱讀:389 作者:iii 欄目:開發(fā)技術(shù)

本文小編為大家詳細(xì)介紹“Python數(shù)據(jù)處理之pd.Series()函數(shù)怎么使用”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“Python數(shù)據(jù)處理之pd.Series()函數(shù)怎么使用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識(shí)吧。

    1.Series介紹

    Pandas模塊的數(shù)據(jù)結(jié)構(gòu)主要有兩種:1.Series 2.DataFrame

    Series 是一維數(shù)組,基于Numpy的ndarray 結(jié)構(gòu)

    Series([data, index, dtype, name, copy, …])    
    # One-dimensional ndarray with axis labels (including time series).

    2.Series創(chuàng)建

    import Pandas as pd 
    import numpy as np

    1.pd.Series([list],index=[list])

    參數(shù)為list ,index為可選參數(shù),若不填寫則默認(rèn)為index從0開始

    obj = pd.Series([4, 7, -5, 3, 7, np.nan])
    obj

    輸出結(jié)果為:

    0    4.0
    1    7.0
    2   -5.0
    3    3.0
    4    7.0
    5    NaN
    dtype: float64

    2.pd.Series(np.arange())

    arr = np.arange(6)
    s = pd.Series(arr)
    s

    輸出結(jié)果為:

    0    0
    1    1
    2    2
    3    3
    4    4
    5    5
    dtype: int32

    pd.Series({dict})
    d = {'a':10,'b':20,'c':30,'d':40,'e':50}
    s = pd.Series(d)
    s

    輸出結(jié)果為:

    a    10
    b    20
    c    30
    d    40
    e    50
    dtype: int64

    可以通過DataFrame中某一行或者某一列創(chuàng)建序列

    3 Series基本屬性

    • Series.values:Return Series as ndarray or ndarray-like depending on the dtype

    obj.values
    # array([ 4.,  7., -5.,  3.,  7., nan])
    • Series.index:The index (axis labels) of the Series.

    obj.index
    # RangeIndex(start=0, stop=6, step=1)
    • Series.name:Return name of the Series.

    4 索引

    • Series.loc:Access a group of rows and columns by label(s) or a boolean array.

    • Series.iloc:Purely integer-location based indexing for selection by position.

    5 計(jì)算、描述性統(tǒng)計(jì)

     Series.value_counts:Return a Series containing counts of unique values.

    index = ['Bob', 'Steve', 'Jeff', 'Ryan', 'Jeff', 'Ryan'] 
    obj = pd.Series([4, 7, -5, 3, 7, np.nan],index = index)
    obj.value_counts()

    輸出結(jié)果為:

     7.0    2
     3.0    1
    -5.0    1
     4.0    1
    dtype: int64

    6 排序

    Series.sort_values

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

    Parameters:

    ParametersDescription
    axis{0 or ‘index’}, default 0,Axis to direct sorting. The value ‘index’ is accepted for compatibility with DataFrame.sort_values.
    ascendinbool, default True,If True, sort values in ascending order, otherwise descending.
    inplacebool, default FalseIf True, perform operation in-place.
    kind{‘quicksort’, ‘mergesort’ or ‘heapsort’}, default ‘quicksort’Choice of sorting algorithm. See also numpy.sort() for more information. ‘mergesort’ is the only stable algorithm.
    na_position{‘first’ or ‘last’}, default ‘last’,Argument ‘first’ puts NaNs at the beginning, ‘last’ puts NaNs at the end.

    Returns:

    Series:Series ordered by values.

    obj.sort_values()

    輸出結(jié)果為:

    Jeff    -5.0
    Ryan     3.0
    Bob      4.0
    Steve    7.0
    Jeff     7.0
    Ryan     NaN
    dtype: float64

    • Series.rank

    Series.rank(self, axis=0, method='average', numeric_only=None, na_option='keep', ascending=True, pct=False)[source]

    Parameters:

    ParametersDescription
    axis{0 or ‘index’, 1 or ‘columns’}, default 0Index to direct ranking.
    method{‘average’, ‘min’, ‘max’, ‘first’, ‘dense’}, default ‘average’How to rank the group of records that have the same value (i.e. ties): average, average rank of the group; min: lowest rank in the group; max: highest rank in the group; first: ranks assigned in order they appear in the array; dense: like ‘min’, but rank always increases by 1,between groups
    numeric_onlybool, optional,For DataFrame objects, rank only numeric columns if set to True.
    na_option{‘keep’, ‘top’, ‘bottom’}, default ‘keep’, How to rank NaN values:;keep: assign NaN rank to NaN values; top: assign smallest rank to NaN values if ascending; bottom: assign highest rank to NaN values if ascending
    ascendingbool, default True Whether or not the elements should be ranked in ascending order.
    pctbool, default False Whether or not to display the returned rankings in percentile form.

    Returns:

    same type as caller :Return a Series or DataFrame with data ranks as values.

    # obj.rank()            #從大到小排,NaN還是NaN
    obj.rank(method='dense')  
    # obj.rank(method='min')
    # obj.rank(method='max')
    # obj.rank(method='first')
    # obj.rank(method='dense')

    輸出結(jié)果為:

    Bob      3.0
    Steve    4.0
    Jeff     1.0
    Ryan     2.0
    Jeff     4.0
    Ryan     NaN
    dtype: float64

    讀到這里,這篇“Python數(shù)據(jù)處理之pd.Series()函數(shù)怎么使用”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

    向AI問一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI