zoukankan      html  css  js  c++  java
  • Pandas 中根据列值,选取DataFrame数据,并获取行索引号列表

    一 . 根据列条件,获取行索引号并转成列表

    import pandas as pd
    df = pd.DataFrame({'BoolCol': [1, 2, 3, 3, 4],'attr': [22, 33, 22, 44, 66]},  
           index=[10,20,30,40,50])  
    print(df)  
    a = df[(df.BoolCol==3)&(df.attr==22)].index.tolist()  
    print(a)  

    查找 BoolCol = 3 和 attr = 22 的数据

    # 结果 
      BoolCol  attr  
    10        1    22  
    20        2    33  
    30        3    22  
    40        3    44  
    50        4    66  
    [30]  

    注意:

      df[(df.BoolCol==3)&(df.attr==22)].index返回的是index对象列表,需转换为普通列表格式时用tolist()方法

    二 . 根据列条件,选取dataframe数据框中的数据

    # 选取等于某些值的行记录 用 == 
    
    df.loc[df['column_name'] == some_value]
    
    # 选取某列是否是某一类型的数值 用 isin
    
    df.loc[df['column_name'].isin(some_values)]
    
    # 多种条件的选取 用 &
    
    df.loc[(df['column'] == some_value) & df['other_column'].isin(some_values)]
    
    # 选取不等于某些值的行记录 用 !=
    
    df.loc[df['column_name'] != some_value]
    
    # isin返回一系列的数值,如果要选择不符合这个条件的数值使用~
    
    df.loc[~df['column_name'].isin(some_values)]
  • 相关阅读:
    float
    老师的通病
    无题
    BufferedReader
    剩余定理
    ActionScript 多图加载 按图顺序索引
    C++ Socket 编程
    设计高可用和高负载的网站系统
    提高网站速度的最佳实践【翻译】
    把哈希表存储到数据库中
  • 原文地址:https://www.cnblogs.com/zmc940317/p/13615168.html
Copyright © 2011-2022 走看看