是样本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}}不会工作,还有其他方法可以做到这一点吗?
答案 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