Problem:
Mehrere Werte aus a extrahieren Textspalte in Pandas und deren korrekte Zuweisung zu neuen Spalten erweist sich als Herausforderung.
Lösung:
Um eine Funktion, die mehrere Werte zurückgibt, effizient auf eine Pandas-Spalte anzuwenden, verwenden Sie die zip()-Funktion. Diese Lösung verbessert die Leistung erheblich im Vergleich zur Iteration mit df.iterrows().
Implementierung:
<code class="python">def powers(x): return x, x**2, x**3, x**4, x**5, x**6 df = pd.DataFrame([[i] for i in range(10)], columns=['num']) df['p1'], df['p2'], df['p3'], df['p4'], df['p5'], df['p6'] = \ zip(*df['num'].map(powers))</code>
Beispielausgabe:
num | p1 | p2 | p3 | p4 | p5 | p6 |
---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 | 1 | 1 | 1 |
2 | 2 | 4 | 8 | 16 | 32 | 64 |
3 | 3 | 9 | 27 | 81 | 243 | 729 |
4 | 4 | 16 | 64 | 256 | 1024 | 4096 |
5 | 5 | 25 | 125 | 625 | 3125 | 15625 |
6 | 6 | 36 | 216 | 1296 | 7776 | 46656 |
7 | 7 | 49 | 343 | 2401 | 16807 | 117649 |
8 | 8 | 64 | 512 | 4096 | 32768 | 262144 |
9 | 9 | 81 | 729 | 6561 | 59049 | 531441 |
Das obige ist der detaillierte Inhalt vonWie kann man in Pandas effizient mehrere neue Spalten aus einer einzelnen Textspalte erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!