2017-06-21 2 views
1

Ich habe einen großen Datenrahmen. Ich möchte meine Daten wie folgt klassifizieren:Beschriftungsdaten in Pandas

if element > threshold: 
    element = 1 
elif element < -threshold: 
    element = -1 
else: 
    element = 0 

Der Versuch, es so in Pandas zu tun, aber es lässt offensichtlich den Bereich aus [-Schwelle, threshold]. Gibt es eine Möglichkeit, "else" für eine ganze Spalte zu verwenden?

for col in data: 
    data[col][data[col] > threshold] = 1 
    data[col][data[col] < -threshold] = -1 

Antwort

1

Verwenden np.sign

np.sign(data - threshold)