2017-10-19 138 views
1

我有一個名爲user_logsmsno爲數據幀關鍵替換日期INT在數據幀列

msno date num_25 num_50 num_75 num_985 num_100 num_unq total_secs 

rxIP2f2aN0rYNp+toI0Obt/N/FYQX8hcO1fTmmy2h34= 20150513 0 0 0 0 0 1 1 280.335 
rxIP2f2aN0rYNp+toI0Obt/N/FYQX8hcO1fTmmy2h34= 20150709 9 1 0 0 0 1 1 280.335 
yxiEWwE9VR5utpUecLxVdQ5B7NysUPfrNtGINaM2zA8= 20150105 3 3 0 0 0 1 1 280.335 
yxiEWwE9VR5utpUecLxVdQ5B7NysUPfrNtGINaM2zA8= 20150306 1 0 0 0 0 1 1 280.335 
yxiEWwE9VR5utpUecLxVdQ5B7NysUPfrNtGINaM2zA8= 20150501 3 0 0 0 38 38 9649.029 

date列是int和我想它作爲一個datetime格式,但我完全被卡住。我只得到了作爲車費創建一個新的變量,我實際上是在格式化成日期succedded:

Dates = pd.DataFrame([datetime.strptime(format(d, '.0f'), '%Y%m%d') for d in user_logs.loc[: , 'date']]) 

但我有一種感覺,使用DataFrame.replace可能是有用的?

+0

當您從文件讀取以創建名爲parse_dates的數據框時,read_table中有一個屬性。嘗試將其設置爲True。它可能有幫助。 –

回答

0

您可以在read_csv參數parse_dates如果從文件創建DataFrame

df = pd.read_csv('file', parse_dates=['date']) 

另一種解決方案是to_datetime

user_logs['date'] = pd.to_datetime(user_logs['date'], format='%Y%m%d') 
+0

第二個人就像一個魅力。謝謝! – theresemoreau

0
datetime.datetime.fromtimestamp(20150513) 

將這個時間戳轉換爲datetime對象。