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

數(shù)據(jù)分析工具Pandas:Pandas中的索引都是什么類對(duì)象?

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

IT培訓(xùn)班

  Pandas中的索引都是Index類對(duì)象,又稱為索引對(duì)象,該對(duì)象是不可以進(jìn)行修改的,以保障數(shù)據(jù)的安全。例如,創(chuàng)建一個(gè)Series類對(duì)象,為其指定索引,然后再對(duì)索引重新賦值后會(huì)提示“索引不支持可變操作”的錯(cuò)誤信息,示例代碼如下。

In [16]: import pandas as pd
         ser_obj=pd.Series(range(5),index=['a','b','c','d','e'])
         ser_index=ser_obj.index
         ser_index
Out [16]:Index(['a','b','c','d','e'], dtype='object')
In [17]: ser_index['2']='cc'
_______________________________________________________________________
TypeError Traceback (most recent call last)
<ipython-input-46-8ab20ca0bde2> in <module>()
----> 1 ser_index['2'] = 'cc'
... 省略N行 ...
TypeError:Index does not support mutable operations

  Index類對(duì)象的不可變特性是非常重要的,正因如此,多個(gè)數(shù)據(jù)結(jié)構(gòu)之間才能夠安全地共享Index類對(duì)象。例如,創(chuàng)建兩個(gè)共用同一個(gè)Index對(duì)象的Series類對(duì)象,具體代碼如下。

In [18]: ser_obj1=pd.Series(range(3), index=['a','b','c'])
         ser_obj2=pd.Series(['a','b','c'], index=ser_obj1.index)
         ser_obj2.index is ser_obj1.index
Out[18]: True

  除了泛指的Index對(duì)象以外,Pandas還提供了很多Index的子類,常見(jiàn)的有如下幾種:

  (1)Int64Index:針對(duì)整數(shù)的特殊Index對(duì)象。

  (2)MultiIndex:層次化索引,表示單個(gè)軸上的多層索引。

  (3)DatetimeIndex:存儲(chǔ)納秒寄時(shí)間戳。

  有關(guān)層次化索引和時(shí)間戳索引的使用,后續(xù)我們會(huì)繼續(xù)講解。

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