Angenommen, haben Datenrahmen mit folgenden DatenPython - Abrufen von max oder min von zwei Spalten basierend auf Wert in einer anderen Spalte?
key score1 score2 count
1 0.87 0.13 0
2 0.67 0.33 1
3 0.46 0.54 1
4 0.28 0.72 0
5 0.41 0.59 1
was ist der kürzeste Weg min zu finden [SCORE1, SCORE2], wenn Zahl == 0 oder max [SCORE1, SCORE2] Zählerstand> 0?
vorliegende Lösung hat, ist
data['mini']=data[[score1, score2]].min(axis=1)
data['maxi']=data[[score1, score2]].max(axis=1)
data['fin_score']= data['mini'].where(data['count']==0, data['maxi'])
ist es so, wie es schärfer gemacht werden kann (in 1/2 Befehlen), wie in Excel dies wie unten lag, und dann ziehen Sie einfach Formel in allen Reihen
=IF(count>0,MAX(B2:C2),MIN(B2:C2))
Ergebnis möchte diese
key score1 score2 count fin_score
1 0.87 0.13 0 0.13
2 0.67 0.33 1 0.67
3 0.46 0.54 1 0.54
4 0.28 0.72 0 0.28
5 0.41 0.59 1 0.59