首頁(yè)技術(shù)文章正文

Python培訓(xùn):使用Pandas提供的方法操作索引

更新時(shí)間:2022-09-05 來(lái)源:黑馬程序員 瀏覽量:

  雖然DataFrame操作索引能夠滿足基本數(shù)據(jù)查看請(qǐng)求,但是仍然不夠靈活。為此,Pandas庫(kù)中提供了操作索引的方法來(lái)訪問數(shù)據(jù),具體包括:

  ?loc:基于標(biāo)簽索引(索引名稱,如a、b等),用于按標(biāo)簽選取數(shù)據(jù)。當(dāng)執(zhí)行切片操作時(shí),既包含起始索引,也包含結(jié)束索引。

  ?loc:基于位置索引(整數(shù)索引,從0到length-1),用于按位置選取數(shù)據(jù)。當(dāng)執(zhí)行切片操作時(shí),只包含起始索引,不包含結(jié)束索引。

  iloc方法主要使用整數(shù)來(lái)索引數(shù)據(jù),而不能使用字符標(biāo)簽來(lái)索引數(shù)據(jù)。而loc方法恰恰相反,它只能使用字符標(biāo)簽來(lái)索引數(shù)據(jù),而不能使用整數(shù)來(lái)索引數(shù)據(jù)。不過,當(dāng)DataFrame對(duì)象的行索引或列索引使用的是整數(shù)時(shí),則其就可以使用整數(shù)來(lái)索引。

  假設(shè),現(xiàn)在有一個(gè)DataFrame對(duì)象,具體代碼如下。

In [39]: arr=np.arrange(16) .reshape(4, 4)
         dataframe_obj=pd.DataFrame(arr, columns=['a', 'b', 'c', 'd'])
         dataframe_obj
Out[39]:
    a   b   c   d
0   0   1   2   3
1   4   5   6   7
2   8   9   10  11
3   12  13  14  15

  接下來(lái),我們通過一段示例程序來(lái)演示如何使用上述方法來(lái)獲取DataFrame中多列的數(shù)據(jù),具體代碼如下。

In [40]: dataframe_obj.loc[:, ["c", "a"]]
In [41]: dataframe_obj.iloc[:, [2,0]]

  它們兩個(gè)輸出的結(jié)果一樣,具體如下:

    c   a
0   2   0
1   6   4
2   10  8
3   14  12

  還可以通過loc方法和iloc方法使用花式索引來(lái)訪問數(shù)據(jù),具體代碼如下。

In [43]: dataframe_obj.loc[1:2, ['b', 'c']]
In [44]: dataframe_obj.iloc[1:3, [1, 2]]

  它們兩個(gè)輸出的結(jié)果也是一樣的,具體如下:

    b    c
1   5    6
2   9    10


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