簡體   English   中英

使用 astype(int) 將時間戳轉換為 int

[英]Convert a timestamp to int using astype(int)

我有可變time

>>> time = pd.to_datetime(1613260800000000000)
>>> time
Timestamp('2021-02-14 00:00:00')

time是一個timestamp 現在我想將time轉換回一個int值。 但是Timestamp object 沒有屬性astype 運行以下代碼:

>>>time.astype(int)

AttributeError: 'Timestamp' object has no attribute 'astype'

我知道對於 dataframe 的一列我可以這樣做:

>>> df['start_time'] = df['start_time'].to_timedate()
>>> df['start_time'] = df['start_time'].astype(int)

第二個命令將列的類型分配給int

但是我沒有找到一個全面的資源來解釋如何處理單個Timestamp參數。

我該如何解決這個問題?

只需使用time_variable.timestamp()

但這將在幾秒鍾內......而不是 ms 或其他任何東西(我們?)

您需要將結果乘以1e9以返回與您輸入的相同的值

對於像numpy/pandas的原生格式這樣的ns ,請使用:

d = pd.to_datetime(1613260800000000000)

native = int(d.timestamp() * 10**9)
print (native)
1613260800000000000

print (pd.to_datetime(native))
2021-02-14 00:00:00

如果需要轉換列:

time = pd.to_datetime(1613260800000000000)

df = pd.DataFrame({'start_time':[time, time]})

print (df['start_time'].astype(np.int64))
0    1613260800000000000
1    1613260800000000000
Name: start_time, dtype: int64

暫無
暫無

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

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