8
Trong dataframe
của tôi, thời gian được seprated thành 3 cột year
, month
, day
, như thế này Python & Pandas: Kết hợp các cột vào một ngày
Làm thế nào tôi có thể chuyển đổi chúng thành date
, vì vậy tôi có thể làm thời gian phân tích seris?
tôi có thể làm điều này:
df.apply(lambda x:'%s %s %s' % (x['year'],x['month'], x['day']),axis=1)
mà kết quả đầu ra
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
Nhưng những gì sau?
UPDATE: Đây là những gì tôi kết thúc với:
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']
Nó mang lại cho tôi 'NameError: Tên 'x' không defined' , Có vấn đề gì? – cqcn1991
Nó thiếu biến biểu thức lambda của bạn được sử dụng từ khung dữ liệu. tôi vẫn cảm thấy như thế này là bắt buộc nhưng hãy cho tôi biết nếu nó hoạt động. – FirebladeDan
Tôi nghĩ có lẽ chúng ta nên chuyển đổi thành 'datetime', không phải' time'? – cqcn1991