美文网首页Python小推车
pandas 数据筛选loc and iloc

pandas 数据筛选loc and iloc

作者: Thinkando | 来源:发表于2018-12-05 23:18 被阅读48次
    In [1]: import numpy as np                                                      
    
    In [2]: import pandas as pd  
    In [5]: df=pd.DataFrame({'a':[1,2,3],'b':[3,5,6],'c':[2,4,7]})                  
    
    In [6]: df                                                                      
    Out[6]: 
       a  b  c
    0  1  3  2
    1  2  5  4
    2  3  6  7
    

    1. 单条件筛选

    In [7]: df[df['a']>2]                                                           
    Out[7]: 
       a  b  c
    2  3  6  7
    
    In [12]: df[['b','c']][df['a']>2]                                               
    Out[12]: 
       b  c
    2  6  7
    
    # 定位筛选
    In [13]: df[df.a.isin([2,3])]                                                   
    Out[13]: 
       a  b  c
    1  2  5  4
    2  3  6  7
    

    2. 多条件筛选

    • 可以使用&(并)与| (或)操作符或者特定的函数实现多条件筛选
    In [14]: df[(df['a'] >1) & (df['c'] < 7)]                                       
    Out[14]: 
       a  b  c
    1  2  5  4
    
    # 使用numpy的logical_and函数完成同样的功能
    In [16]: df[np.logical_and(df['a']>1,df['b']<7)]                                
    Out[16]: 
       a  b  c
    1  2  5  4
    2  3  6  7
    

    3. 索引

    • 索引行
    In [18]: df[1:3]                                                                
    Out[18]: 
       a  b  c
    1  2  5  4
    2  3  6  7
    
    • 索引列
    In [22]: df[['a','c']]                                                          
    Out[22]: 
       a  c
    0  1  2
    1  2  4
    2  3  7
    

    4. loc函数

    • 行列可以同时选择
    In [23]: df.loc[1,'c']                                                          
    Out[23]: 4
    
    In [24]: df.loc[1:3,['a','c']]                                                  
    Out[24]: 
       a  c
    1  2  4
    2  3  7
    
    In [25]: df.loc[[1,2],['a','c']]                                                
    Out[25]: 
       a  c
    1  2  4
    2  3  7
    

    5. iloc 函数(懒人必备)

    • 所有的索引都变成数字了,一般用于不想输入名字
    In [26]: df.iloc[1,2]                                                           
    Out[26]: 4
    
    In [30]: df.iloc[1:3,[0,2]]                                                     
    Out[30]: 
       a  c
    1  2  4
    2  3  7
    
    In [28]: df.iloc[[1,2],[0,2]]                                                   
    Out[28]: 
       a  c
    1  2  4
    2  3  7
    

    6. at函数

    • 根据指定行index及列label,快速定位DataFrame的元素,选择列时仅支持列名。
    In [33]: df.at[1,'a']                                                           
    Out[33]: 2
    

    7. iat函数

    • 与at的功能相同,只使用索引参数。
    In [35]: df.iat[1,0]                                                            
    Out[35]: 2
    

    相关文章

      网友评论

        本文标题:pandas 数据筛选loc and iloc

        本文链接:https://www.haomeiwen.com/subject/neygcqtx.html