.iloc和.loc
时间: 2023-10-08 22:05:51 浏览: 126
pandas iloc和loc的区别
`.iloc` 和 `.loc` 都是 Pandas DataFrame 中用于数据索引和切片的方法,它们的使用方法有所不同。
`.iloc` 是通过位置索引来选取数据的,`.iloc` 中使用的是整数位置,可以使用整数、整数列表、整数切片、布尔列表等作为参数。例如:
```python
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
print(df.iloc[0]) # 获取第一行数据
print(df.iloc[:, 1]) # 获取第二列数据
print(df.iloc[0:2, :]) # 获取第一行至第二行所有列的数据
```
`.loc` 是通过标签索引来选取数据的,`.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.loc['a']) # 获取标签为 'a' 的行数据
print(df.loc[:, 'B']) # 获取标签为 'B' 的列数据
print(df.loc['a':'b', :]) # 获取标签为 'a' 至 'b' 所有列的数据
```
需要注意的是,`.iloc` 和 `.loc` 的参数位置不同,`.iloc` 先行后列,`.loc` 先列后行。此外,`.iloc` 和 `.loc` 在对 DataFrame 进行切片时,对切片的处理方式不同,`.iloc` 是按照 Python 的切片规则,包括起始位置和终止位置,而`.loc` 是按照标签位置进行切片,包括起始位置和终止位置对应的标签数据。
阅读全文