创建后如何更改 Pandas 系列的索引值?
pandas 系列构造函数将根据给定的数据自动创建系列索引标签。如果要指定那些索引标签,我们可以使用pandas系列函数的index关键字参数分别给出这些索引值。
Python字典是pandas系列的数据,我们没有指定任何索引标签,那么python字典值的键作为索引标签。
也可以在创建后指定或更改 pandas Series 对象的索引标签。可以通过使用 pandas 系列构造函数的 index 属性来完成。
示例
import pandas as pd# create a series
s = pd.Series([1,2,3,4,6])
print(s)
# change the index
s.index = list('ABCDE')
print('\nSeries with new index')
print(s)
解释
pd 是导入pandas 包时定义的pandas 包别名。之后使用pandas Series 函数创建了一个简单的pandas Series 对象,这里的数据是一个整数列表。
并且未指定我们数据的索引标签,但 pandas Series 构造函数自动为我们的数据创建了一个索引标签,该标签来自 0-4 个值。
在本例中,我们通过使用索引属性从 0、1、2、3、4 到 A、B、C、D、E 更改了索引标签。
输出结果
0 11 2
2 3
3 4
4 6
dtype: int64
Series with new index
A 1
B 2
C 3
D 4
E 6
dtype: int64
上面的输出块中有两组,一组是我们初始系列对象的输出,带有自动生成的索引标签。第二个块是更改索引标签后系列对象 's' 的输出。
在这里,我们将 pandas Series 对象的索引标签从整数值更改为对象数据类型。
示例
这个例子将告诉你另一种在创建后更改我们的 pandas Series 对象的索引标签的方法。这里我们有pandas 系列功能中的函数,用于更改系列索引标签或更改系列对象的名称。Series.rename()
import pandas as pd# create a series
s = pd.Series([1,2,3,4,6])
print(s)
# change the index
s = s.rename(lambda x: x**2)
print('\nSeries with new labels')
print(s)
解释
lambda 函数作为Series.rename方法的参数提供,这个 python lambda 函数将为我们的索引标签生成平方值。
使用这些生成的平方值,该Series.rename方法将返回一个新的系列对象作为输出,并且不会更新实际的系列对象 's'。这就是为什么在这里我们再次将结果对象重新分配给系列对象“s”。
输出结果
0 11 2
2 3
3 4
4 6
dtype: int64
Series with new labels
0 1
1 2
4 3
9 4
16 6
dtype: int64
第一个块是带有默认索引标签的初始系列对象的输出,第二个是带有更新索引标签的结果系列对象。
以上是 创建后如何更改 Pandas 系列的索引值? 的全部内容, 来源链接: utcz.com/z/338662.html