如何在 Pandas 中獲取序列的索引和值?


Pandas Series 儲存帶標籤的資料,透過這些標籤我們可以訪問 Series 元素並對資料進行操作。然而,在某些情況下,我們需要分別獲取所有標籤和值。

標籤可以稱為索引,Series 中存在的資料稱為值。如果您想分別獲取標籤和值,則可以使用 Series 物件的 index 和 values 屬性。

讓我們舉個例子,看看這些屬性是如何工作的。

示例

import pandas as pd

# creating a series
s = pd.Series({97:'a', 98:'b', 99:'c', 100:'d', 101:'e', 102:'f'})
print(s)

# Getting values and index data
index = s.index
values = s.values

print('
') # displaying outputs print(index) print(values)

解釋

使用 Python 字典建立 Pandas Series,字典包含整數鍵和字串值對。index 和 values 是 Series 屬性,將返回索引和值的 ndarray。

s.index 和 s.values 將返回一個 ndarray,這些陣列分別儲存在 index 和 values 變數中。最後,我們使用 print 函式列印結果。

輸出

97    a
98    b
99    c
100   d
101   e
102   f
dtype: object


Int64Index([97, 98, 99, 100, 101, 102], dtype='int64')
array(['a', 'b', 'c', 'd', 'e', 'f'], dtype=object)

此輸出塊包含一個使用 Python 字典建立的 Pandas Series,建立的 Series 具有帶標籤的資料。第二個塊表示上面輸出中以 ndarray 格式表示的值和索引資料。

我們可以看到上面塊中每個輸出的資料型別,這裡 values 是 object 型別,索引是 int64 型別。

示例

import pandas as pd

# creating a series
s = pd.Series([-2.3, np.nan, 9, 6.5, -5, -8, np.nan])
print(s)

# Getting values and index data
index = s.index
values = s.values

print('
') # displaying outputs print(index) print(values)

解釋

在下面的示例中,我們使用 Python 列表建立了 Pandas Series,並且沒有索引表示。

輸出

0   -2.3
1    NaN
2    9.0
3    6.5
4   -5.0
5   -8.0
6    NaN
dtype: float64


RangeIndex(start=0, stop=7, step=1)
[-2.3 nan 9. 6.5 -5. -8. nan]

s.index 屬性將正常返回一個 ndarray,但在這種情況下,我們在建立 Series 時沒有指定任何索引值。因此,我們可以看到索引值以 RangeIndex 格式顯示。

更新於: 2021年11月18日

9K+ 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.