我想做的是以下事情:
if
df.loc[df['proba'] <= proba_plus].iloc[0]
不是single positional indexer is out-of-bounds
然后:gamma_plus = df.loc[df['proba'] <= proba_plus].iloc[0]
else
gamma_plus =df['gamma'].max()
关于如何做到这一点的任何想法?谢谢!
答案 0 :(得分:2)
您可以将if-else
语句与Series.empty
一起使用:
a = df.loc[df['proba'] <= proba_plus, 'gamma']
gamma_plus = df['gamma'].max() if a.empty else a.iat[0]
或者将next
与iter
一起使用-如果Series
为空,则可以设置默认值:
a = df.loc[df['proba'] <= proba_plus, 'gamma']
gamma_plus = next(iter(a, df['gamma'].max()))