如何在 Pandas 中创建 Series 时指定索引?


Pandas Series 是带标签数据的1维 ndarray,这意味着 Series 中的每个值都有一个标签表示,这也就是每个数据都有其索引值。

索引可以是标签名称(对象数据),也可以是值。默认情况下,它会从 0 到 n-1(n 是 Series 值的长度)分配索引值。并且它能够定义索引值。

Pandas Series 函数有一个 index 关键字用于指定索引值,它接受任何类型数据的数组作为输入。数据可以是整数、浮点数、文本数据、日期时间等等。

让我们看看如何在创建 Series 时指定索引值。

示例

import pandas as pd

Countries = ['Australia', 'Iceland', 'India', 'United Kingdom', 'United States']
Capitals = ['Canberra', 'Reykjavik', 'New Delhi', 'London', 'Washington D.C']

# create series
s = pd.Series(Capitals, index=Countries)

print(s)

解释

上面代码的预期结果是一个带有标签索引和文本数据的 Pandas Series。这里的索引值是一些国家的名称列表,数据是这些国家对应的首都名称。

我们创建了两个 Python 列表来保存国家名称和首都名称。并将这两个列表发送给 Pandas Series 构造函数 (pd.Series() 函数)。首都名称是 Series 数据,国家名称是索引。

可以通过将 Python 列表(countries 列表)赋值给 Pandas Series 函数的 index 关键字来实现指定索引名称。这里需要注意的是,索引数据的长度必须与 Series 数据的长度相同。否则,将会引发 ValueError。

输出

Australia              Canberra
Iceland               Reykjavik
India                 New Delhi
United Kingdom           London
United States    Washington D.C
dtype: object

上面输出块中的索引和值都是对象数据类型。在上面的示例中,我们在创建 Series 时分别指定了索引标签。

示例

# importing pandas packages
import pandas as pd

dictionary = {'a':'A','c':"C",'d':'D','e':'E'}

#creating a series with null data
s_obj = pd.Series(dictionary)

print(s_obj)

解释

如果我们将 Python 字典作为数据传递给 Pandas Series 构造函数,那么它将把字典的键作为索引,值作为 Series 对象的元素。

输出

a   A
c   C
d   D
e   E
dtype: object

我们可以使用 Python 字典的键来指定 Series 对象的索引。

更新于:2021年11月17日

2K+ 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.