(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)