簡體   English   中英

從時間戳(紀元時間)轉換為正確的 Pandas DateTime colmn

[英]Convert from timestamp (Epoch time) to Proper Pandas DateTime colimn

嘗試將列從時間戳轉換為日期時間,最后打印所需的結果。 源是 Unix 紀元時間戳。 我可以轉換單個值,但無法對整列數據進行轉換。 謝謝!!

import pandas as pd 
import numpy as np
from datetime import datetime
thd = pd.DataFrame(data=data["candles"])
data={'candles': [{'open': 1417.5,
   'high': 1417.52,
   'low': 1416.95,
   'close': 1416.95,
   'volume': 508,
   'datetime': 1590758940},
  {'open': 1416.95,
   'high': 1420.18,
   'low': 1415.06,
   'close': 1416.64,
   'volume': 32934,
   'datetime': 1590759000},]
}

thd["Time"]=pd.to_datetime(thd["datetime"])
display(thd)
datetime.fromtimestamp(1590759060) #<---this is the result I want to get on dataframe

pd.to_datetimeunit='s'一起使用:

In [731]: thd['datetime'] = pd.to_datetime(thd['datetime'], unit='s') 

In [732]: thd                                                          
Out[732]: 
      open     high      low    close  volume            datetime
0 1,417.50 1,417.52 1,416.95 1,416.95     508 2020-05-29 13:29:00
1 1,416.95 1,420.18 1,415.06 1,416.64   32934 2020-05-29 13:30:00

您可以在列上使用 apply 為列中的每個值執行此 function

thd['datetime'].apply(datetime.fromtimestamp)

完整代碼

import pandas as pd 
import numpy as np
from datetime import datetime

data={'candles': [{'open': 1417.5,
'high': 1417.52,
'low': 1416.95,
'close': 1416.95,
'volume': 508,
'datetime': 1590758940},
{'open': 1416.95,
'high': 1420.18,
'low': 1415.06,
'close': 1416.64,
'volume': 32934,
'datetime': 1590759000},]
}

thd = pd.DataFrame(data=data["candles"])

thd['datetime_converted'] = thd['datetime'].apply(datetime.fromtimestamp)

thd

結果

在此處輸入圖像描述

暫無
暫無

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

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