iloc和loc区别和应用总结

        在python进行人工智能编程中,对于DataFrame类型数据的操作和表达,经常用loc和iloc两种函数从数据集中取数,但经常会发生混淆,因此根据详细比较结果,分享一篇心得。

目录

       一、构建DataFrame类型数据

       二、iloc和loc的应用表达

       三、总结

一、构建DataFrame类型数据

import numpy as np
import pandas as pd

data = np.arange(0, 50, 2)


data1 = data.reshape(5, 5)


data2 = pd.DataFrame(data1, columns=['a', 'b', 'c','d','e'])

  

二、iloc和loc的应用表达

1、表达某一个数

     iloc: data2.iloc[2,2]

     

      loc: data2.loc[2,'c']

2、表达某一行
   iloc:                   
      data2.iloc[2]  
 
   loc:                 
      data2.loc[2]  


3、表达多行
   iloc:           
      data2.iloc[1:5]       #左闭右开

   loc:                
      data2.loc[1:4]        #左闭右闭


4、表达一列
   iloc:                              
      data2.iloc[:,1:2] 
          
   loc:                                  
      data2.loc[:,'a'] 
    
 
5、表达多列
   iloc:               
      data2.iloc[:,1:4]

      data2.iloc[:,[1,2,3]]

   loc:                
      data2.loc[:,['b',‘c',’d']] 

      data2.loc[:,'b':'d']

      
6)、表达不连续某几行,某几列
    iloc:                         
       data2.iloc[[1,2,4],[1,3]] 
     
    loc:                          
       data2.loc[[1,2,4],['b',‘d']]
 
7、表达不连续的某几行
    iloc:                           
       data2.iloc[[1,2,4],:]    

    loc:                            
       data2.loc[[1,2,4],:] 

8、表达不连续的某几列
    iloc:                    
       data2.iloc[:,[0,2]] 

    loc:                     
       data2.loc[:,['a','c']]  

三、总结
    1、iloc的列不能用列标签;loc的列只能用列标签,不能用索引或切片,除非用全切片
    2、两者都可以表达各种情况;
    3、两者不管表达行,还是列,使用切片时,都是loc左闭右闭,iloc左闭右开;

作者github:luquanmin (github.com)https://github.com/luquanmin

  • 10
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值