簡體   English   中英

無法轉換類型的輸入 [00:00:00.020000]<class 'datetime.time'> 到時間戳</class>

[英]Cannot convert input [00:00:00.020000] of type <class 'datetime.time'> to Timestamp

我的輸入數據具有高分辨率的日期時間,以秒為單位。 例如,它應該是1900-01-01 17:40:14.410000而不是1900-01-01 17:40:14

顯然這種格式還沒有被 pandas 或 python 識別。我應該如何將其成功轉換為 pandas 識別的時間戳樣式。

IIUC,你想要一個自定義格式:

pd.to_datetime('[00:00:00.020000]', format='[%H:%M:%S.%f]')

或者,自動地:

pd.to_datetime('[00:00:00.020000]'.strip('[]'))

output: Timestamp('2022-02-09 00:00:00.020000')

作為系列:

s = pd.Series(['[00:00:00.020000]'])
pd.to_datetime(s.str.strip('[]'))

output:

0   2022-02-09 00:00:00.020
dtype: datetime64[ns]

將列或標量轉換為字符串:

t = datetime.time(17, 40, 14, 410000)
print (pd.to_datetime(str(t)))
2022-02-09 17:40:14.410000

如果列:

pd.to_datetime(df['col'].astype(str))

我不確定我是否理解正確但 pandas 確實具有時間戳中的樣式 class, myTime = pandas.Timestamp("1900-01-01 17:40:14.410000")您可以訪問它的屬性和方法。

myTime.year應該是 output >>> 1900 myTime.time()應該是 output >>> 17:40:14.410000等等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM