获取标志pandas的最后一行dataframe

时间:2017-11-28 09:38:28

标签: pandas

下面的

是样本df

df.loc[d['val'].idxmin()]  

我想要val最小的行,标志是0,

如果我跑

id  val    flag
1    1.2     0

我将得到值为1.2的行

id  val    flag
1    1.2     1
1    1.5     0

在下一步中,我将值1.2更改为1。

现在我的df看起来像

df.loc[d['val'].idxmin()]

现在我想找到具有最小值的行,并且还要标志= 0,我shud得到val的行,但是这段代码{{1}}不会工作,还有其他方法可以做到这一点吗?

1 个答案:

答案 0 :(得分:0)

您可以使用:

df.loc[(df['val'] == df['val'].min()) & (df['flag'] == 0), 'flag'] = 1  
print (df)
   id  val  flag
0   1  1.2     1
1   1  1.5     0

详情:

print ((df['val'] == df['val'].min()) & (df['flag'] == 0))
0     True
1    False
dtype: bool