首頁(yè)常見(jiàn)問(wèn)題正文

Pandas怎樣實(shí)現(xiàn)單層索引訪問(wèn)數(shù)據(jù)?

更新時(shí)間:2023-11-03 來(lái)源:黑馬程序員 瀏覽量:

pandas中提供了多種使用單層索引訪問(wèn)Series類對(duì)象和DataFrame類對(duì)象的方式,包括[]、loe、iloc、at和iat,關(guān)于這幾種方式的介紹如下。

1.使用[]訪問(wèn)數(shù)據(jù)

pandas中使用[]訪問(wèn)數(shù)據(jù)的方式與訪問(wèn)數(shù)組元素的方式類似,其使用方式如下。

變量{索引}

需要說(shuō)明的是,若變量是一個(gè)Series類對(duì)象,則會(huì)獲取索引對(duì)應(yīng)的單個(gè)數(shù)據(jù);若變量是一個(gè)DataFrame類對(duì)象,它在使用“[索引J”訪問(wèn)數(shù)據(jù)時(shí)會(huì)將索引視為列索引,獲取該索引對(duì)應(yīng)的一列數(shù)據(jù)。

下面創(chuàng)建一個(gè)Series類對(duì)象ser,使用“變量[索引]”訪問(wèn)該對(duì)象的單個(gè)數(shù)據(jù),代碼如下。

In []:   inport pandas as pd
         ser = pd.Series(['A', 'B','C','D'],
                     index=('one','two','three',*four'])
         print(ser)
         one      A
         two      B
         three    C
         four     D
         dtype: object
In []:   # 訪問(wèn)素引為'one'的數(shù)據(jù)
         print(ser['one'])
         A

下面創(chuàng)建一個(gè)DataFrame類對(duì)象df,使用“變量[索引]”訪問(wèn)該對(duì)象的一列數(shù)據(jù),代碼如下。

In []:  df = pd.DataF'rame([[0, 2, 3], [0, 4, 1], [10, 20, 30]],
                        index=|4, 5, 6], columns=['A', 'B', 'C'])
        print(df)
            A B  C
         4  0  2  3
         5  0  4  3
         6 10 20 30
In  []:  # 訪問(wèn)列索引為'A'的數(shù)據(jù)
         print(df['A'])
         4    O
         5    0
         6   10
         Name: A, dtype: int64

2.使用loc和iloc訪問(wèn)數(shù)據(jù)

pandas 中也可以使用loc和iloc訪問(wèn)數(shù)據(jù),其使用方式如下。

變量.loc[索引]
變量.iloc[索引]

以上方式中,“l(fā)od[索引]”中的索引必須為自定義的標(biāo)簽索引,而“ilocf[索引]”中的索引必須為自動(dòng)生成的整數(shù)索引。需要說(shuō)明的是,若變量是一個(gè)DataFrame類對(duì)象,它在使用“l(fā)oc[索引]”或“iloc[索引]”訪問(wèn)數(shù)據(jù)時(shí)會(huì)將索引視為行索引,獲取該索引對(duì)應(yīng)的一行數(shù)據(jù)。

接下來(lái),分別使用loc和iloc訪問(wèn)ser對(duì)象中標(biāo)簽索引為'two'與整數(shù)索引為2的數(shù)據(jù),代碼如下。

In []:   #  訪問(wèn)標(biāo)簽索引為'two'的數(shù)據(jù)
         print(ser.loc('two'))
         B
In []:   訪問(wèn)整數(shù)索引為2的數(shù)據(jù)
         print(ser.1loc[2))
         C

使用loc和iloc訪問(wèn)df對(duì)象中標(biāo)簽索引為4和整數(shù)索引為1的數(shù)據(jù),代碼如下。

In []:    # 訪問(wèn)標(biāo)簽索引為4的數(shù)據(jù)
          print(df.loc(4])
          A   0
          B   2
          C   3
          Name: 4, dtype: int64
In []:    # 訪問(wèn)整數(shù)索引為1的數(shù)據(jù)
          print(df.iloc[1])
          A    0
          B    4
          C    1
          Name: 5, dtype: int64

3.使用at和iat訪問(wèn)數(shù)據(jù)

pandas 中還可以使用at和iat 訪問(wèn)數(shù)據(jù)。與前兩種方式相比,這種方式可以訪問(wèn)DataFrame類對(duì)象中的單個(gè)數(shù)據(jù)。以DataFrame類對(duì)象為例,使用at和iat 訪問(wèn)數(shù)據(jù)的基本方式如下。

變量.at[行素引,列索引1
變量,iat[行素引,列索引]

以上方式中,“at[行索引,列索引]”中的索引必須為自定義的標(biāo)簽索引,“iat[行索引,列索引]”中的索引必須為自動(dòng)生成的整數(shù)索引。

接下來(lái),使用at訪問(wèn)d對(duì)象中行標(biāo)簽索引為5、列標(biāo)簽索引為B'的數(shù)據(jù),代碼如下。

In []:  # 訪問(wèn)行標(biāo)簽索引為5、列標(biāo)簽索引為'8'的數(shù)據(jù)
        print(df.at[5,'B'])
        4


分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!