【问题标题】:How to get row index of pandas dataframe containing specific values from two columns?如何从两列中获取包含特定值的熊猫数据框的行索引?
【发布时间】:2018-08-22 07:11:53
【问题描述】:

如何使用两个列条件获取行索引?

例如,如果我有一个看起来像这样的数据框:

Dataframe

如果我指定我想要“Pocket”为 0 且“Denim”为 1 的行,我想要返回整数“1”,因为 1 是满足这两个列条件的行索引。

【问题讨论】:

    标签: python-3.x pandas


    【解决方案1】:

    我认为需要按boolean indexing 过滤,但对于一般解决方案,使用next 返回第一个匹配的行索引,如果不存在值(掩码返回所有False 值),则使用默认参数:

    df = pd.DataFrame({'Product':['Jeans','Shorts','Jeans'],
                       'Pocket':[1,0,1],
                       'Denim':[0,1,1]}, index=[4,8,10])
    
    print (df)
       Product  Pocket  Denim
    4    Jeans       1      0
    8   Shorts       0      1
    10   Jeans       1      1
    
    mask = (df["Pocket"] == 0) & (df["Denim"] == 1)
    a = next(iter(df[mask].index), 'not exist')
    print (a)
    8
    
    mask = (df["Pocket"] == 0) & (df["Denim"] == 0)
    a = next(iter(df[mask].index), 'not exist')
    print (a)
    not exist
    

    【讨论】:

      猜你喜欢
      • 2023-02-10
      • 2019-12-30
      • 2021-10-03
      • 2023-02-07
      • 2022-11-30
      • 2021-01-19
      • 2016-08-06
      • 2018-12-25
      • 1970-01-01
      相关资源
      最近更新 更多