Es ist unklar, was der eigentliche Anwendungsfall hier, aber erstens können Sie testen, ob der Schlüssel bereits vorhanden ist durch in
auf den Säulen Aufruf:
In [61]:
df = pd.DataFrame(np.random.randn(5,3), columns=list('abc'))
df
Out[61]:
a b c
0 -0.968358 0.666118 0.758028
1 -0.805671 -0.994780 0.624423
2 0.449329 0.768457 -0.311637
3 -0.793448 1.258319 -0.924384
4 1.698867 -0.624939 -0.167027
In [62]:
'd' in df.columns
Out[62]:
False
Außer, wenn die Spalte nicht existiert, dann können Sie es einfach hinzufügen, ob es ein Skalarwert ist oder das Array die gleiche Länge:
In [63]:
df['d'] = 10
df
Out[63]:
a b c d
0 -0.968358 0.666118 0.758028 10
1 -0.805671 -0.994780 0.624423 10
2 0.449329 0.768457 -0.311637 10
3 -0.793448 1.258319 -0.924384 10
4 1.698867 -0.624939 -0.167027 10
warum nicht einfach test 'wenn Schlüssel in df.columns: '? Ist die neue_Daten ebenfalls gleich groß? d.h. die gleiche Anzahl von Reihen? warum nicht einfach überschreiben, wenn dies der Fall ist, oder eine neue Spalte mit den neuen Daten erstellen? – EdChum
[Einfacher nach Vergebung als Erlaubnis fragen] (https://docs.python.org/3/glossary.html#term-eafp) ist der bevorzugte Python-Weg –