2016-08-10 1 views
2

Ich habe einen Datenrahmen, die von zwei Säulen besteht:ändern Wert eines Dataframe Spalte Basierend auf einem Filter

  1. „Zeit auf der Website gab“
  2. „auf der Website verbrachte Dollar“

Ich möchte eine Klassifizierungsanalyse für diesen Datensatz durchführen und es interessiert mich nur, ob ein Benutzer einen Kauf getätigt hat oder nicht. Ich möchte also die Spalte "Auf der Website ausgegebene Dollars" durchgehen und den Wert in "1" umwandeln, wenn der Benutzer mehr als $ 0,00 ausgegeben hat und der Wert "0" ist, wenn der Benutzer nichts ausgegeben hat.

Was ist der richtige Weg, dies mit einem Pandas Datenrahmen zu tun?

Antwort

3
df['purchase'] = 0 
df.loc[df['dollars_spent'] > 0, 'purchase'] = 1 

oder

df['purchase'] = df['dollars_spent'].apply(lambda x: 1 if x > 0 else 0) 
+0

Während dieser Code die Frage beantworten kann, zusätzlichen Kontext in Bezug auf, warum und/oder wie dieser Code beantwortet die Frage ihren langfristigen Wert verbessert. Code-only-Antworten werden nicht empfohlen. – Ajean

+0

Danke @ SO44! Der zweite ergibt Sinn für mich. Ich bin mir nicht sicher, was im ersten Fall passiert. – anc1revv

+0

@ anc1revv gut zu hören, können Sie die Antwort akzeptieren, um die Frage zu schließen? – SO44

Verwandte Themen