Python_AI库 Pandas的loc和iloc的区别与使用实例

Python中Pandas的lociloc的区别与使用实例

在这里插入图片描述

在Pandas中,lociloc是两个常用的方法,用于基于标签(label)和整数位置(integer location)来选择数据。尽管两者在功能上有重叠,但它们在用法和性能上有所不同。下面将详细解释它们之间的区别,并通过实例来演示它们的使用。

loc vs iloc

  • loc:基于标签进行选择。它使用行标签和列标签来选择数据。对于DataFrame,这些标签通常是列名和行索引。
  • iloc:基于整数位置进行选择。它使用基于0的索引来选择数据,忽略行标签和列标签的实际值。

使用实例

假设我们有一个如下的DataFrame:

import pandas as pd

data = {
    'A': [1, 2, 3, 4],
    'B': [5, 6, 7, 8],
    'C': [9, 10, 11, 12],
    'D': [13, 14, 15, 16]
}

df = pd.DataFrame(data, index=['row1', 'row2', 'row3', 'row4'])
print(df)

输出:

      A  B   C   D
row1  1  5   9  13
row2  2  6  10  14
row3  3  7  11  15
row4  4  8  12  16
使用loc
  1. 选择索引为’row2’的行:
print(df.loc['row2'])

输出:

A     2
B     6
C    10
D    14
Name: row2, dtype: int64
  1. 选择列’A’和’C’:
print(df.loc[:, ['A', 'C']])

输出:

      A   C
row1  1   9
row2  2  10
row3  3  11
row4  4  12
使用iloc
  1. 选择第二行(基于0的索引):
print(df.iloc[1])

输出:

A     2
B     6
C    10
D    14
Name: row2, dtype: int64

注意,尽管这里我们选择了索引为1的行,但输出的行标签仍然是’row2’,因为iloc是基于整数位置选择的,而不是基于标签。

  1. 选择前两列:
print(df.iloc[:, :2])

输出:

      A  B
row1  1  5
row2  2  6
row3  3  7
row4  4  8

注意事项

  • 当DataFrame的索引是整数时,使用loc可能会产生混淆,因为此时标签和位置可能会重叠。在这种情况下,使用iloc会更清晰。
  • loc通常比iloc更快,因为loc使用标签进行选择,这通常是一个哈希操作,而iloc可能需要额外的步骤来将整数位置映射到实际的标签。
  • 在某些情况下,使用lociloc的组合可以实现更复杂的选择逻辑。

相关推荐

  1. externstatic使用区别

    2024-05-14 00:10:03       22 阅读
  2. definetypedef区别使用

    2024-05-14 00:10:03       7 阅读
  3. 使用OpenCVPIL读取图片区别

    2024-05-14 00:10:03       36 阅读
  4. 前端框架组件区别联系

    2024-05-14 00:10:03       33 阅读
  5. synchronized Lock 区别是什么

    2024-05-14 00:10:03       22 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-14 00:10:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-14 00:10:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-14 00:10:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-14 00:10:03       20 阅读

热门阅读

  1. final关键字

    2024-05-14 00:10:03       9 阅读
  2. 指针(4)有点难

    2024-05-14 00:10:03       9 阅读
  3. 高精度模拟算法

    2024-05-14 00:10:03       11 阅读
  4. Oracle中long和clob的区别和例子

    2024-05-14 00:10:03       10 阅读
  5. Redis——RDB、AOF和混合持久化机制

    2024-05-14 00:10:03       14 阅读
  6. @Validated校验多层json

    2024-05-14 00:10:03       13 阅读
  7. centos7下vim命令笔记-查找字符

    2024-05-14 00:10:03       12 阅读
  8. 【C++】防止头文件被重复包含

    2024-05-14 00:10:03       14 阅读