Pandas2.2 Series
Indexing, iteration
方法 | 描述 |
---|---|
Series.get() | 用于根据键(索引标签)从 Series 中获取值 |
Series.at | 用于快速访问标量值(单个元素)的访问器 |
Series.iat | 用于快速访问标量值(单个元素)的访问器 |
Series.loc | 用于基于标签的索引访问器 |
Series.iloc | 用于基于整数位置的索引访问器 |
pandas.Series.iloc
pandas.Series.iloc
是 pandas 库中用于基于整数位置的索引访问器。它允许你通过位置(即行号)来选择数据,支持单个元素、多个元素以及切片操作。iloc
访问器不仅可以用于获取数据,还可以用于修改数据。
主要特点
- 基于位置的索引:使用
iloc
可以通过位置(从 0 开始的整数索引)来访问和修改 Series 中的数据。 - 灵活的选择方式:支持单个位置、位置列表、位置切片等。
- 适用于布尔索引:可以结合布尔条件进行复杂的选择。
示例
创建一个简单的 Series
import pandas as pd
# 创建一个带有自定义索引的 Series
s = pd.Series([10, 20, 30, 40, 50], index=['a', 'b', 'c', 'd', 'e'])
print(s)
输出结果:
a 10
b 20
c 30
d 40
e 50
dtype: int64
使用 iloc
访问单个元素
# 使用 iloc 访问位置为 2 的元素
value = s.iloc[2]
print(f"The value at position 2 is: {value}")
输出结果:
The value at position 2 is: 30
使用 iloc
访问多个元素
# 使用 iloc 访问多个元素
values = s.iloc[[0, 2, 4]]
print(values)
输出结果:
a 10
c 30
e 50
dtype: int64
使用 iloc
进行切片操作
# 使用 iloc 进行切片操作
slice_values = s.iloc[1:4]
print(slice_values)
输出结果:
b 20
c 30
d 40
dtype: int64
使用 iloc
修改单个元素
# 修改位置为 3 的元素值为 99
s.iloc[3] = 99
print(s)
输出结果:
a 10
b 20
c 30
d 99
e 50
dtype: int64
使用 iloc
修改多个元素
# 修改多个元素的值
s.iloc[[0, 4]] = [100, 500]
print(s)
输出结果:
a 100
b 20
c 30
d 99
e 500
dtype: int64
注意事项
- 如果提供的位置索引超出 Series 的范围,则会抛出
IndexError
错误。 iloc
仅适用于基于位置的查找,不能用于基于标签的查找。如果需要基于标签查找,请使用loc
或at
。
总结
pandas.Series.iloc
提供了一种强大且灵活的方式,用于基于位置的索引访问和修改 Series 中的数据。它支持单个元素、多个元素以及切片操作,并且可以结合布尔索引进行复杂的选择。iloc
特别适合在已知确切位置的情况下进行操作。