我知道這個問題存在很多,但我找不到適合我的案例的解決方案。我有一個帶有字串格式的列時間的資料幀,我需要將其轉換為日期時間。最終,我希望將日期作為 ML 目的的 int,但我似乎無法先將其設定為 datetime。
我有:
testDate = tripOrig[' Time'][0]
newDate = dt.datetime.strptime(testDate,'%d-%b-%Y %H:%M:%S.%f %Z')
日期是字串的地方,如:
05-Jun-2016 00:00:00.000 EDT
無論出于何種原因,我不斷收到錯誤格式的錯誤訊息。我一生都無法弄清楚我做錯了什么。我多次檢查日期時間檔案,但我不斷收到:
ValueError: time data '05-Jun-2016 00:00:00.000 EDT' does not match format '%d-%b-%Y %H:%M:%S.%f %Z'
我在這里錯過了什么?!?
作為另一個說明,我也嘗試過:
tripOrig['correct date'] = pd.to_datetime(tripOrig[' Time'])
這很慢,會引發時區警告,并且在轉換為 int 時不考慮秒數,因此我無法使用它。
我怎樣才能得到這個轉換?
uj5u.com熱心網友回復:
使用其他幾個問題,我找到了我的解決方案:
決議器必須是字串或字符流,而不是系列
如何將未知時區的字串日期時間轉換為python中的時間戳
從字串到 Posix/Unix int:
import datetime as dt
from time import mktime
from dateutil import parser
def timeCorrect(stringDate):
stamp = parser.parse(stringDate, tzinfos={"EDT": -4 * 3600})
work = mktime(stamp.timetuple())
return work
tripOrig['Correct Time'] = tripOrig[' Time'].apply(timeCorrect)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/344875.html
上一篇:根據日期創建每月重新采樣的PandasDataFrame
下一篇:整數轉換為時間
