pandas dataframe loc vs iloc

pandas dataframe loc vs iloc

参考:pandas dataframe loc vs iloc

在数据分析和数据处理中,pandasPython 中最常用的库之一。它提供了一个强大的数据结构 DataFrame,用于处理结构化数据。DataFrame 提供了多种方法来访问和修改数据,其中 lociloc 是最常用的两种索引方法。本文将详细介绍 lociloc 的使用方法和区别,并通过多个示例来展示如何在实际中使用这两种方法。

1. pandas DataFrame 简介

在深入了解 lociloc 之前,我们首先需要了解什么是 pandas DataFrame。DataFrame 是一个二维的、表格型的数据结构,它可以存储不同类型的数据(整数、浮点数、字符串等),并且每个轴都有标签(行标签和列标签)。

import pandas as pd

data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)
print(df)

Output:

pandas dataframe loc vs iloc

2. 使用 loc 进行索引

loc 是基于标签的索引方法,它允许我们通过行标签和列标签来选择数据。loc 的基本语法是 df.loc[row_labels, column_labels]

示例1:选择单行数据

import pandas as pd

data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data, index=['a', 'b', 'c'])
print(df.loc['a'])

Output:

pandas dataframe loc vs iloc

示例2:选择多行数据

import pandas as pd

data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data, index=['a', 'b', 'c'])
print(df.loc[['a', 'b']])

Output:

pandas dataframe loc vs iloc

示例3:选择单列数据

import pandas as pd

data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data, index=['a', 'b', 'c'])
print(df.loc[:, 'Name'])

Output:

pandas dataframe loc vs iloc

示例4:选择多列数据

import pandas as pd

data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data, index=['a', 'b', 'c'])
print(df.loc[:, ['Name', 'City']])

Output:

pandas dataframe loc vs iloc

示例5:选择特定行和列的数据

import pandas as pd

data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data, index=['a', 'b', 'c'])
print(df.loc['a', 'Name'])

Output:

pandas dataframe loc vs iloc

3. 使用 iloc 进行索引

iloc 是基于整数位置的索引方法,它允许我们通过行和列的整数位置来选择数据。iloc 的基本语法是 df.iloc[row_positions, column_positions]

示例6:选择单行数据

import pandas as pd

data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)
print(df.iloc[0])

Output:

pandas dataframe loc vs iloc

示例7:选择多行数据

import pandas as pd

data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)
print(df.iloc[0:2])

Output:

pandas dataframe loc vs iloc

示例8:选择单列数据

import pandas as pd

data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)
print(df.iloc[:, 1])

Output:

pandas dataframe loc vs iloc

示例9:选择多列数据

import pandas as pd

data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)
print(df.iloc[:, [0, 2]])

Output:

pandas dataframe loc vs iloc

示例10:选择特定行和列的数据

import pandas as pd

data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)
print(df.iloc[0, 1])

Output:

pandas dataframe loc vs iloc

4. loc vs iloc 的区别

lociloc 都是用于访问 DataFrame 中数据的方法,但它们之间有一些重要的区别:

  • loc 是基于标签的索引,而 iloc 是基于整数位置的索引。
  • loc 可以接受行标签和列标签作为参数,而 iloc 只接受行和列的整数位置作为参数。
  • loc 可以处理具有自定义索引的 DataFrame,而 iloc 总是假设默认的整数索引。

示例11:使用 loc 和 iloc 访问相同数据

import pandas as pd

data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data, index=['a', 'b', 'c'])
print(df.loc['a'])
print(df.iloc[0])

Output:

pandas dataframe loc vs iloc

示例12:使用 loc 和 iloc 访问不同数据

import pandas as pd

data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data, index=['a', 'b', 'c'])
print(df.loc['b', 'Age'])
print(df.iloc[1, 1])

Output:

pandas dataframe loc vs iloc

5. 总结

在本文中,我们详细介绍了 pandas DataFrame 的两种索引方法:lociloc。我们通过多个示例展示了如何使用这两种方法来访问和修改 DataFrame 中的数据。了解这两种方法的区别和适用场景对于有效地使用 pandas 进行数据分析至关重要。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程