如何在 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 格式显示。
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP