Ich versuche zu verwenden, um eine neue Spalte in einem Pandas DataFrame zu erstellen. Ich muss etwas wie str.format verwenden, damit die neue Spalte Teile vorhandener Spalten ist. Zum Beispiel ...pandas DataFrame mit Format zuweisen
import pandas as pd
df = pd.DataFrame(np.random.randn(3, 3))
gibt mir ...
0 1 2
0 -0.738703 -1.027115 1.129253
1 0.674314 0.525223 -0.371896
2 1.021304 0.169181 -0.884293
ein assign für eine völlig neue Spalte arbeitet
# works
print(df.assign(c = "a"))
0 1 2 c
0 -0.738703 -1.027115 1.129253 a
1 0.674314 0.525223 -0.371896 a
2 1.021304 0.169181 -0.884293 a
Aber, wenn ich eine vorhandene Spalte verwenden möchten, in eine neue Spalte scheint es, als würde Pandas den ganzen existierenden Rahmen in die neue Spalte einfügen.
# doesn't work
print(df.assign(c = "a{}b".format(df[0])))
0 1 2 \
0 -0.738703 -1.027115 1.129253
1 0.674314 0.525223 -0.371896
2 1.021304 0.169181 -0.884293
c
0 a0 -0.738703\n1 0.674314\n2 1.021304\n...
1 a0 -0.738703\n1 0.674314\n2 1.021304\n...
2 a0 -0.738703\n1 0.674314\n2 1.021304\n...
Danke für die Hilfe.
cool, dass es zwei Möglichkeiten gibt um die Antwort zu erreichen. Zur Erbauung, warum formatiert Arbeit nicht? – tayknight