如何在 Pandas 中获取系列的索引和值?

Pandas 系列保存标记数据,通过使用这些标签,我们可以访问系列元素,我们可以对我们的数据进行操作。但是,在某些情况下,我们需要分别获取所有标签和值。

标签可以称为索引,数据存在于称为值的系列中。如果您想单独获取标签和值。然后我们可以使用 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('\n')
# displaying outputs
print(index)
print(values)

解释

使用带有整数键和字符串值对的 Python 字典创建了一个 Pandas 系列。索引和值是将返回索引和值的 ndarray 的系列属性。

的s.index和s.values将返回一个ndarray和这些阵列被分别存储在索引和值的变量。最后,我们使用打印功能打印结果。

输出结果

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系列,创建的系列具有标记数据。上面输出的第二个块以 ndarray 格式表示值和索引数据。

我们可以在上面的块中看到每个输出的数据类型,这里的值是 object dtype,索引是 int64 dtype。

示例

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('\n')
# displaying outputs
print(index)
print(values)

解释

在以下示例中,我们使用 Python 列表创建了一个没有索引表示的 Pandas 系列。

输出结果

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,但在这种情况下,我们在创建系列时没有指定任何索引值。因此,我们可以将索引值视为 RangeIndex 格式。