Pandas loc 和 iloc 详解

Pandas loc 和 iloc 详解

参考:pandas loc and iloc

Pandas 是一个强大的 Python 数据分析工具库,它提供了大量的功能来便捷地处理和分析数据。在 Pandas 中,DataFrameSeries 是两种主要的数据结构。DataFrame 是一个表格型的数据结构,它包含一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。本文将详细介绍 Pandas 中的两个重要索引功能:lociloc

1. Pandas loc

loc 是基于标签的数据选择方法,意味着它被用来查找数据帧中的数据,使用的是数据标签和相关的行索引/列名称。

示例代码 1:使用 loc 选择单行数据

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
result = df.loc[0]
print(result)

Output:

Pandas loc 和 iloc 详解

示例代码 2:使用 loc 选择多行数据

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
result = df.loc[[0, 2]]
print(result)

Output:

Pandas loc 和 iloc 详解

示例代码 3:使用 loc 选择切片对象

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
result = df.loc[0:1]
print(result)

Output:

Pandas loc 和 iloc 详解

示例代码 4:使用 loc 通过列名选择特定列

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
result = df.loc[:, 'Name']
print(result)

Output:

Pandas loc 和 iloc 详解

示例代码 5:使用 loc 同时选择特定行和列

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
result = df.loc[0, 'Name']
print(result)

Output:

Pandas loc 和 iloc 详解

2. Pandas iloc

iloc 是基于整数的位置索引,用于根据行号与列号选择数据。行号和列号都是从 0 开始的。

示例代码 6:使用 iloc 选择单行数据

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
result = df.iloc[1]
print(result)

Output:

Pandas loc 和 iloc 详解

示例代码 7:使用 iloc 选择多行数据

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
result = df.iloc[[0, 2]]
print(result)

Output:

Pandas loc 和 iloc 详解

示例代码 8:使用 iloc 选择切片对象

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
result = df.iloc[0:2]
print(result)

Output:

Pandas loc 和 iloc 详解

示例代码 9:使用 iloc 通过列号选择特定列

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
result = df.iloc[:, 1]
print(result)

Output:

Pandas loc 和 iloc 详解

示例代码 10:使用 iloc 同时选择特定行和列

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
result = df.iloc[1, 0]
print(result)

Output:

Pandas loc 和 iloc 详解

3. loc 和 iloc 的区别

虽然 lociloc 都是用于数据选择的方法,但它们之间存在一些关键的区别。loc 是基于标签的选择,而 iloc 是基于整数位置的选择。这意味着 loc 使用的是行索引或列名来选择数据,而 iloc 使用的是行和列的整数索引。

示例代码 11:比较 loc 和 iloc 的选择差异

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data, index=['a', 'b', 'c'])
result_loc = df.loc['a']
result_iloc = df.iloc[0]
print(result_loc)
print(result_iloc)

Output:

Pandas loc 和 iloc 详解

4. 高级用法

示例代码 12:使用 loc 进行条件选择

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
result = df.loc[df['Age'] > 30]
print(result)

Output:

Pandas loc 和 iloc 详解

示例代码 13:使用 iloc 进行复杂的切片操作

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
result = df.iloc[0:2, 1:2]
print(result)

Output:

Pandas loc 和 iloc 详解

示例代码 14:使用 loc 更新数据帧中的数据

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
df.loc[0, 'Name'] = 'Ann'
print(df)

Output:

Pandas loc 和 iloc 详解

示例代码 15:使用 iloc 进行行或列的添加

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
new_row = {'Name': 'David', 'Age': 40}
df.iloc[3] = new_row
print(df)

以上示例展示了如何使用 Pandas 的 lociloc 方法进行数据选择、更新和操作。这两个方法是数据分析和数据处理中非常重要的工具,能够帮助数据科学家和分析师有效地处理大量数据。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程