美文网首页
Pandas 根据值查索引

Pandas 根据值查索引

作者: 呢嘻嘻嘻嘻嘻 | 来源:发表于2019-04-28 20:23 被阅读0次

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

    在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  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()方法
    
    
    YueDian.loc[ YueDian['时间'] == date ]['日耗(万吨)'].index.tolist()[0]
    

    二、根据列条件,选取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)]
    

    原文:https://blog.csdn.net/huang_susan/article/details/80626698

    相关文章

      网友评论

          本文标题:Pandas 根据值查索引

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