Mit pandas 0.6.2
. Ich möchte einen Datenrahmen zu datetime
Typ ändern, hier der Datenrahmen istPandas Warnung mit pd.to_datetime
>>> tt.head()
0 2015-02-01 00:46:28
1 2015-02-01 00:59:56
2 2015-02-01 00:16:27
3 2015-02-01 00:33:45
4 2015-02-01 13:48:29
Name: TS, dtype: object
Und ich will jedes Einzelteil in tt
in datetime
Typen ändern, und die hour
zu bekommen. Der Code ist
for i in tt.index:
tt[i]=pd.to_datetime(tt[i])
und waring ist
__main__:2: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
Warum die Warnung auftritt und wie kann ich damit umgehen?
Wenn ich ein Element jedes Mal ändern, es funktioniert, ist der Code
>>> tt[1]=pd.to_datetime(tt[1])
>>> tt[1].hour
0
@unutbu ich für einzelne Spalte denke, es funktioniert, aber ich stimme zu, dass dies explizit sein sollte, denke ich früher hatte ich versucht, 'iloc' und dann geändert' loc' , werde aktualisiert – EdChum
Ich weiß 'df [' date '] = pd.to_datetime (df [' date ']) ' funktioniert, aber ich möchte die "Stunde" jedes Artikels erhalten. Kann es auf der gesamten "Serie" nicht das "Datum" mit der "Zeit" trennen, habe ich 'dt.time' versucht, aber ich kann die' Stunde' nicht getrennt bekommen. –
Sie können 'df ['Datum']. Dt.hour' Dies ist eine vektorisierte Methode – EdChum