无名阁,只为技术而生。流水不争先,争的是滔滔不绝。

(iloc和loc的区别) Pandas loc、iloc用法详解 Pandas.loc和iloc索引方式 全网首发(图文详解1)

前沿技术 Micheal 7个月前 (05-27) 135次浏览 已收录 扫描二维码

(iloc和loc的区别) Pandas loc、iloc用法详解

Pandas是Python的一个重要数据处理库,loc和iloc是其中的两种索引方式,主要用于数据的提取、查询和修改。他们两者的主要区别在于,loc是基于标签名的索引方法,而iloc是基于位置索引。

  • loc的用法:
    • 单行索引:

      可以通过行索引来获取一行数据,如data.loc[‘index_name’].

    • 多行索引:

      获取连续多行或者任意多行数据,如data.loc[[‘index1_name’, ‘index2_name’]].

    • 列索引:

      获取某列数据,如data.loc[:, ‘column_name’].

    • 多列索引:

      获取任意多列数据,如data.loc[:, [‘column1_name’, ‘column2_name’]].

    • 行列同时索引:

      可以同时索引行和列,如data.loc[‘index_name’, ‘column_name’].

  • iloc的用法:

    iloc的使用方法和loc几乎一样,唯一的区别就是iloc只接受数字索引。

以下为示例代码:

import pandas as pd

#创建一个DataFrame
data = pd.DataFrame({
 'name':['Jack', 'Tom', 'Mary'],
 'age':[18, 20, 22],
 'gender':['m', 'm', 'w']
})

#指定name列为索引列
data.set_index('name', inplace=True)

#使用loc提取特定行
print(data.loc['Jack'])

#使用iloc提取特定行
print(data.iloc[1])

#使用loc提取特定列
print(data.loc[:, 'age'])

#使用iloc提取特定列
print(data.iloc[:, 1])

#使用loc提取特定行和列
print(data.loc['Tom', 'age'])

#使用iloc提取特定行和列
print(data.iloc[1, 0])

在上述代码中,首先创建了一个name为索引列的DataFrame,通过loc和iloc分别进行数据的行列索引。如果需要对数据更复杂的操作,比如条件筛选,可以使用这两个函数配合条件表达式实现。

需要注意的是,由于iloc是基于位置的索引,所以在排列数据时要特别注意。如果对数据进行排序或是某种变换,记得更新索引以防止数据错位。
(python) Python assert断言关键字的作用与用法 Python assert 语法简介 全网首发(图文详解1)
(迭代器) python中cycle函数的作用与使用方法 Python itertools cycle 函数介绍 全网首发(图文详解1)

喜欢 (0)
[]
分享 (0)
关于作者:
流水不争先,争的是滔滔不绝