Die Umkehrung ("one-hot" - Codierung in Pandas

Problem statement
Ich will von dieser Daten-Rahmen, die im Grunde ist ein hot kodiert.

 In [2]: pd.DataFrame({"monkey":[0,1,0],"rabbit":[1,0,0],"fox":[0,0,1]})

    Out[2]:
       fox  monkey  rabbit
    0    0       0       1
    1    0       1       0
    2    1       0       0
    3    0       0       0
    4    0       0       0

Zu diesem einen, ist 'reverse' one-hot kodiert.

    In [3]: pd.DataFrame({"animal":["monkey","rabbit","fox"]})
    Out[3]:
       animal
    0  monkey
    1  rabbit
    2     fox

Ich kann mir vorstellen, es gibt eine Art von kluger Nutzung gelten oder zip zu tun lichtet, aber ich bin mir nicht sicher, wie... Kann jemand helfen?

Habe ich nicht viel Erfolg hatte mit der Indizierung usw, um zu versuchen, dieses problem zu lösen.

  • Zeig uns deinen code bitte.
  • Ihre 2 dataframes nicht übereinstimmen...
  • Ich behoben - vielen Dank für das beobachten 🙂
  • könnte Sie nach Ihrem gewünschten DF für diesen Eingang DF: pd.DataFrame({'dog': {0: 0, 1: 0, 2: 0, 3: 0, 4: 0, 5: 1}, 'fox': {0: 0, 1: 0, 2: 1, 3: 0, 4: 0, 5: 0}, 'monkey': {0: 0, 1: 1, 2: 0, 3: 0, 4: 0, 5: 0}, 'rabbit': {0: 1, 1: 0, 2: 0, 3: 0, 4: 0, 5: 0}}), weil jetzt ich verstehe nicht, Ihre gewünschten DF?
  • könnten Sie bitte klären, ob Ihre Eingabedaten kann mit mehr als einer 1 in einer Spalte? Und wie hast du die Zeilen, die nur Nullen?
  • stackoverflow.com/a/55757342/2384397

InformationsquelleAutor Peadar Coyle | 2016-07-12
Schreibe einen Kommentar