python:loc与iloc介绍

        在Python的Pandas库中,lociloc都是用于索引DataFrame数据的重要工具。它们之间的主要区别在于索引方式loc是基于标签的索引,而iloc是基于整数位置的索引

loc

介绍:

  • loc是基于行标签(index)和列标签(columns)进行选择的。

  • 语法:dataframe.loc[行标签, 列标签]/loc[index切片或列表,columns切片或列表]

  • 可以同时选择多行和多列

示例如下:

import pandas as pd  
  
# 创建一个DataFrame  
data = {'Name': ['Tom', 'Nick', 'John', 'Tom'],  
        'Age': [20, 21, 19, 18],  
        'Height': [180, 175, 179, 169]}  
df = pd.DataFrame(data)  
  
# 使用loc选择行和列  
print(df.loc[1:3, ['Name', 'Age']])  # 选择第2行到第4行(基于0的索引),以及'Name'和'Age'列

使用方法:

  • 访问某一行:.loc[index的值]
  • 访问连续的某几行:.loc[起始index的值:结束index的值](切片表示法,包含结束值)
  • 访问不连续的某几行:.loc[[第一个index,第二个index,第三个index......]](列表表示法)
  • 访问单个元素:.loc[index的值,columns的值]
  • 访问多个元素:.loc[index切片或列表,columns切片或列表]

输出为:

   Name  Age
1  Nick   21
2  John   19
3   Tom   18

iloc

介绍:

  • iloc是基于行号和列号进行选择的,与NumPy数组的索引方式非常相似。

  • 语法:dataframe.iloc[行号, 列号]/iloc[index切片或列表,columns切片或列表]

  • 行号和列号都是从0开始的整数。

示例如下:

import pandas as pd  
  
# 创建一个DataFrame(同上例)  
data = {'Name': ['Tom', 'Nick', 'John', 'Tom'],  
        'Age': [20, 21, 19, 18],  
        'Height': [180, 175, 179, 169]}  
df = pd.DataFrame(data)  
  
# 使用iloc选择行和列  
print(df.iloc[1:3, [0, 1]])  # 选择第2行到第3行(不包括第4行),以及第1列和第2列(基于0的索引)

输出为:

   Name  Age
1  Nick   21
2  John   19

使用方法:

  • 访问某一行:.iloc[index的位置]
  • 访问连续的某几行:.iloc[起始index的位置:结束index的位置](切片表示法,不包含结束值)
  • 访问不连续的某几行:.iloc[[第一个index,第二个index,第三个index......]](列表表示法)
  • 访问单个元素:.iloc[index的位置,columns的位置]
  • 访问多个元素:.iloc[index切片或列表,columns切片或列表]

注意事项

  • 当使用loc进行切片时,结束索引是包含的,要特别注意,如上述第一个例子。
  • 当使用iloc进行切片时,结束索引是不包含的,这与Python的列表切片行为是一致的。
  • 在选择数据时,要确保所使用的索引方式(标签或位置)与DataFrame的实际结构相匹配,否则可能会引发错误。
  • 如果只传入一个索引(无论是行还是列),则必须确保该索引在DataFrame的对应维度中存在,否则会引发KeyErrorIndexError
  • 中括号里的中括号代表列表。
  • 18
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: pandas中的DataFrame对象有两个方法lociloc,用于选择数据。 loc方法使用标签来选择数据,iloc方法使用整数位置来选择数据。 例如,df.loc[2,'column']表示选择第2行和'column'列的数据,而df.iloc[2,3]表示选择第3行和第4列的数据。 这两个方法都可以使用切片来选择多行或多列的数据。例如,df.loc[2:5,'column1':'column3']表示选择第2到第5行和'column1'到'column3'列的数据。 ### 回答2: Python中的DataFrame是Pandas库的一个重要数据结构,用于处理和分析具有不同类型的数据。 DataFrame的lociloc都用于从DataFrame中选择特定行和列。 loc是基于行和列的标签进行选择。使用loc,我们可以传入行和列的标签,以选择特定的数据。 例如,假设我们有一个DataFrame df,其中包含三列 A、B、C 和五行数据。我们可以使用以下语法选择数据: ``` df.loc[行标签, 列标签] ``` 其中,行标签和列标签可以是具体的数值、列表、切片或布尔索引。 iloc是基于行和列的索引进行选择。使用iloc,我们可以传入行和列的索引位置,以选择特定的数据。 例如,假设我们有一个DataFrame df,其中包含三列 A、B、C 和五行数据。我们可以使用以下语法选择数据: ``` df.iloc[行索引, 列索引] ``` 其中,行索引和列索引可以是具体的数值、列表、切片或布尔索引。 需要注意的是,行和列的索引从0开始计数。 总结起来,lociloc都是用于从DataFrame中选择特定行和列的方法。loc是基于标签进行选择,而iloc是基于索引进行选择。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值