[英]Pandas: Using Unix epoch timestamp as Datetime index
我的申請涉及處理以下形式的數據(包含在CSV中):
Epoch (number of seconds since Jan 1, 1970), Value
1368431149,20.3
1368431150,21.4
..
目前我使用numpy loadtxt方法讀取CSV(可以很容易地使用來自Pandas的read_csv)。 目前我的系列我正在轉換時間戳字段如下:
timestamp_date=[datetime.datetime.fromtimestamp(timestamp_column[i]) for i in range(len(timestamp_column))]
我通過將timestamp_date設置為我的DataFrame的Datetime索引來實現此目的。 我嘗試在幾個地方搜索,看看是否有更快(內置)的方式使用這些Unix紀元時間戳,但找不到任何。 許多應用程序都使用這種時間戳術語。
將它們轉換為datetime64[s]
:
np.array([1368431149, 1368431150]).astype('datetime64[s]')
# array([2013-05-13 07:45:49, 2013-05-13 07:45:50], dtype=datetime64[s])
你也可以使用pandas to_datetime :
df['datetime'] = pd.to_datetime(df["timestamp"], unit='s')
此方法需要Pandas 0.18或更高版本。
您也可以像這樣使用Pandas DatetimeIndex
pd.DatetimeIndex(df['timestamp']*10**9)
*10**9
將其置於預期的時間戳的格式中。
這很好,因為它允許您在系列中使用諸如.date()
或.tz_localize()
函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.