8
In meinem dataframe
, die Zeit, in 3 Spalten seprated ist year
, month
, day
, wie diese Python & Pandas: Kombinieren Sie Spalten in ein Datum
Wie kann ich sie in date
konvertieren, so kann ich Zeit tun Seris-Analyse?
Ich kann dies tun:
df.apply(lambda x:'%s %s %s' % (x['year'],x['month'], x['day']),axis=1)
die Ausgänge
1095 1954 1 1
1096 1954 1 2
1097 1954 1 3
1098 1954 1 4
1099 1954 1 5
1100 1954 1 6
1101 1954 1 7
1102 1954 1 8
1103 1954 1 9
1104 1954 1 10
1105 1954 1 11
1106 1954 1 12
1107 1954 1 13
Aber was folgt daraus?
UPDATE: Dies ist, was ich am Ende mit:
from datetime import datetime
df['date']= df.apply(lambda x:datetime.strptime("{0} {1} {2}".format(x['year'],x['month'], x['day']), "%Y %m %d"),axis=1)
df.index= df['date']
Es gibt mir 'Nameerror: Name 'x' ist nicht defined' , was ist das Problem? – cqcn1991
Es fehlte Ihre Lambda-Ausdrucksvariable, die vom Datenrahmen verwendet wurde. Ich habe immer noch das Gefühl, dass dies gezwungen ist, aber lass es mich wissen, wenn es funktioniert. – FirebladeDan
Ich denke, vielleicht sollten wir in "Datetime", nicht "Time" konvertieren? – cqcn1991