pandas(五)索引對象

這篇博文主要介紹索引對象。

Index對象

一級索引對象

從Series對象中獲得Index對象:

data = {
    "apples":2,
    "bananas":4,
    "oranges":9
}
s = pd.Series(data)
s
s.index

Out:
在這裏插入圖片描述
從DataFrame對象中獲得Index對象:

data = {
    "apples":[2,3,4,5],
    "bananas":[1,5,2,3],
    "oranges":[9,4,6,3]
}
df = pd.DataFrame(data,index=["Lily","Tom","David","Robert"])
df
df.index
df.columns

Out:
在這裏插入圖片描述

創建索引對象

在Series中使用索引對象:

labels = pd.Index(["a","b","c","d"])
s = pd.Series(np.arange(4), index=labels)
s

Out:
在這裏插入圖片描述
在DataFrame中使用索引對象:

data = [[2,3,4],
        [1,5,2],
        [9,4,6],
        [12,4,15]]
row_labels = pd.Index(['Lily', 'Tom', 'David', 'Robert'])
column_labels = pd.Index(['apples', 'bananas', 'oranges'])
df = pd.DataFrame(data, index=row_labels, columns = column_labels)
df

Out:
在這裏插入圖片描述

重建索引

重建索引使用reindex()方法。
在Series對象中重建索引:

se1=pd.Series([1,7,3,9],index=['d','c','a','f'])
se1
se2=se1.reindex(['a','b','c','d','e','f'])
se2

Out:
在這裏插入圖片描述
在這裏插入圖片描述
在使用method參數的時候 index must be monotonic increasing or decreasing。

se3=pd.Series(["a", "b", "c"],index=[1,3,5])
se3
se4=se3.reindex(range(6),method='bfill')
se4

Out:
在這裏插入圖片描述
在這裏插入圖片描述
在DataFrame對象中重建索引:

df2 = df.reindex(['Tom', 'David', 'Robert'])
df2

Out:
在這裏插入圖片描述

df3 = df.reindex(columns=["oranges","bananas","apples"])
df3

Out:
在這裏插入圖片描述

MultiIndex對象

創建多級索引對象

#創建多級索引對象,pandas.MultiIndex.from_tuples從元組創建多級索引
pandas.MultiIndex.from_arrays#從數組
pandas.MultiIndex.from_product#從笛卡爾積
pandas.MultiIndex.from_frame#從數據框
keys = [("Lily","apples"),("Lily","bananas"),("Lily","oranges"),
        ("Tom","apples"),("Tom","bananas"),("Tom","oranges"),
        ("Pilph","apples"),("Pilph","bananas"),("Pilph","oranges")]
keys
index = pd.MultiIndex.from_tuples(keys,names=["names","fruits"])     
data=[1,2,3,13,45,2,3,4,7]
w = pd.Series(data,index=index)
w

Out:
在這裏插入圖片描述

多級索引行列轉換

1.unstack()方法可以快速將一個多級索引的 Series轉化爲普通索引的DataFrame

w.unstack()

Out:
在這裏插入圖片描述

2.stack()方法可以將一個普通索引的 Dataframe轉化爲多級索引的Series

df.stack()

Out:
在這裏插入圖片描述

多級索引數據存取

多級索引數據存值可以使用運算符,也可以使用loc[]等存取器。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章