Heim >Backend-Entwicklung >Python-Tutorial >Wie füge ich effizient eine neue Spalte zu einem Pandas DataFrame hinzu?
Bei einem DataFrame mit indizierten Zeilen möchten Sie eine zusätzliche Spalte einbinden ohne die vorhandenen Daten zu verändern. Zum Beispiel mit dem DataFrame:
</p> <pre class="brush:php;toolbar:false"> a b c d
2 0,671399 0,101208 -0,181532 0,241273
3 0,446172 -0,243316 0,051767 1,577318
5 0,614758 0,075793 -0,451460 -0,012493
Fügen Sie eine Spalte namens „e“ mit den folgenden Werten hinzu:
<br> 0 -0,335485<br>1 -1,166658<br>2 -0,385571<br>dtype: float64<br>
Bearbeiten 2017
Die effizienteste Methode, wie von @Alexander vorgeschlagen und in den Kommentaren angegeben, ist die Verwendung der Methode assign:
df1 = df1.assign(e=pd.Series(np.random.randn(sLength)).values)
Bearbeiten 2015
Einige Benutzer berichteten von der Begegnung mit dem SettingWithCopyWarning mit dem Originalcode. Der Code bleibt jedoch in der aktuellen Pandas-Version 0.16.1 funktionsfähig.
sLength = len(df1['a']) df1['e'] = pd.Series(np.random.randn(sLength), index=df1.index)
Originalantwort
Erstellen Sie eine Serie mit den Originalindizes von df1 und weisen Sie sie zu in die neue Spalte:
df1['e'] = pd.Series(np.random.randn(sLength), index=df1.index)
Das obige ist der detaillierte Inhalt vonWie füge ich effizient eine neue Spalte zu einem Pandas DataFrame hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!