python中loc和iloc的用法及区别
时间: 2023-08-05 20:07:39 浏览: 173
`loc` 和 `iloc` 都是用于选取 DataFrame 中的行和列的方法,它们的用法和区别如下:
`loc`:通过行标签或条件选取行,通过列标签或条件选取列。语法为 `df.loc[行标签或条件, 列标签或条件]`。
示例:
```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)
# 选取第一行和第二列
print(df.loc['a', 'B'])
# 选取第一列和第二列
print(df.loc[:, ['A', 'B']])
# 选取 A 列中大于 1 的行
print(df.loc[df['A'] > 1, 'A'])
```
`iloc`:通过行和列的整数位置选取行和列。语法为 `df.iloc[行位置, 列位置]`。
示例:
```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)
# 选取第一行和第二列
print(df.iloc[0, 1])
# 选取第一列和第二列
print(df.iloc[:, [0, 1]])
# 选取第一行和第二行
print(df.iloc[[0, 1], :])
```
区别:
- loc 通过标签选取行和列,而 iloc 通过位置选取行和列。
- loc 可以使用条件表达式,而 iloc 不支持。
需要注意的是,使用 loc 和 iloc 选取行和列时,选取的结果都是 DataFrame 或 Series 类型。
阅读全文
相关推荐

















