举例说明loc和iloc
时间: 2023-09-10 10:08:38 浏览: 109
ds3_loc_iloc:创建存储库以举例说明在数据集中使用loc和iloc
在 Pandas 数据分析库中,`loc` 和 `iloc` 是两个用于数据索引和选取的方法。
`loc` 使用标签或布尔数组选择数据,语法为 `df.loc[row_indexer, col_indexer]`,其中 `row_indexer` 和 `col_indexer` 分别表示行和列的索引器。例如:
```python
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]},
index=['a', 'b', 'c'])
# 使用标签选择数据
print(df.loc['a', 'B']) # 输出 4
# 使用布尔数组选择数据
print(df.loc[df['A'] > 1, ['B', 'C']]) # 输出 b 和 c 行的 B 和 C 列数据
```
`iloc` 使用整数位置选择数据,语法为 `df.iloc[row_indexer, col_indexer]`,其中 `row_indexer` 和 `col_indexer` 分别表示行和列的位置。例如:
```python
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]},
index=['a', 'b', 'c'])
# 使用整数位置选择数据
print(df.iloc[1, 2]) # 输出 8
# 使用区间选择数据
print(df.iloc[0:2, 1:3]) # 输出 a 和 b 行的 B 和 C 列数据
```
需要注意的是,`loc` 和 `iloc` 的行和列索引方式是不同的。`loc` 用的是行和列的标签,可以包括起始值和终止值;`iloc` 用的是行和列的整数位置,只包括起始值和终止值的左端点。此外,`loc` 可以用布尔数组选择行和列,而 `iloc` 只能用整数位置选择行和列。
阅读全文