loc和iloc
loc和iloc
在 pandas
中,loc
和 iloc
是用于访问和操作 DataFrame
或 Series
数据的两种常用方法。它们之间的区别在于索引的类型和用法。
loc
: 通过标签(Label)来访问数据。
iloc
: 通过整数位置(Integer Location)来访问数据。
以下是它们的详细解释和示例:
loc
:loc
允许您使用行和列的标签来访问数据。它的基本语法是df.loc[row_label, column_label]
,其中row_label
是行的标签,column_label
是列的标签。您可以使用单个标签、标签列表、切片或布尔索引来进行访问。import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35]}
df = pd.DataFrame(data, index=['row1', 'row2', 'row3'])
# 使用 loc 访问数据
print(df.loc['row1', 'Name']) # Alice
print(df.loc['row2', ['Name', 'Age']]) # Bob, 30iloc
:iloc
允许您使用整数位置(从 0 开始)来访问数据。它的基本语法是df.iloc[row_position, column_position]
,其中row_position
是行的整数位置,column_position
是列的整数位置。您可以使用整数、整数列表、切片或布尔索引来进行访问。import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35]}
df = pd.DataFrame(data)
# 使用 iloc 访问数据
print(df.iloc[0, 1]) # Alice
print(df.iloc[1, [0, 1]]) # Bob, 30
总之,loc
和 iloc
都用于访问和操作 DataFrame
或 Series
数据,但基于不同的索引类型。根据您的需求和数据结构,选择适合的方法来访问数据。
示例深思:
df.loc[df['dome_roam_flux_days'] == r'\N', 'dome_roam_flux_days'] = None