2017-11-19 6 views
0

Ich habe Probleme mit einer neuen Spalte in einem Datenrahmen Initialisierung genannt df ich tun möchte:Pandas Python neue Spalte Datenrahmen

df['new_column'] = 0 

alle Werte auf Null zu haben ..

Aber dann ist gibt mir:

Ein Wert versucht, auf einer Kopie eines Segments aus einem DataFrame festgelegt werden. Versuchen Sie es mit .loc[row_indexer,col_indexer] = value statt

.. so, wenn ich will dann auf, um es arbeiten **** up ...

ich im Netz sah aber nicht wirklich etwas Nützliches finden. Ich bin ein Anfänger in Pandas so leid, wenn die Antwort offensichtlich ist, aber ich weiß wirklich nicht, wie man diese grundlegende Sache macht ..

Vielen Dank!

Antwort

0

ich dies zu raten ist, weil Ihr df ist bereits eine Ansicht auf einem anderen Datenrahmen wie:

df = DF.iloc[100:] 

in diesem Fall Pandas nicht wirklich die Daten kopieren, sondern nur einen Verweis auf den alten zu halten. In meinen Augen ist das nicht sehr transparent und ich habe mich ein paar Mal in den Fuß geschossen.

eine Arbeit um eine Kopie des Datenrahmen enfoce sicher zu sein, es seine eigenen Daten besitzt:

df = df.copy() 

so in Ihrem Fall, dass Sie vielleicht tun:

df = df.copy() 
df['new_column'] = 0 

Ich hoffe, das macht den Trick für dich

+0

Du bist der Eine! Danke vielmals! – hellowolrd

Verwandte Themen