我想撰寫一段代碼,回傳與backtest_results和的值不同的天數小時分鐘數realtime_test。所以我想表演2022-01-24 10:05:00 - 2022-01-30 14:09:03, 2022-01-27 01:54:00 - 2022-02-02 09:34:06,
backtest_results[0] - realtime_test[0]
backtest_results[1] - realtime_test[1]
...
我如何能夠對下面想要的代碼進行頂部編碼。
import pandas as pd
import numpy
backtest_results = pd.to_datetime(['2022-01-24 10:05:00', '2022-01-27 01:54:00',
'2022-01-30 19:08:00','2022-02-02 14:32:00',
'2022-02-10 02:58:00', '2022-02-10 14:01:00',
'2022-02-11 00:25:00' '2022-02-16 13:49:00'])
realtime_test = pd.to_datetime([
'2022-01-30 14:09:03', '2022-02-02 09:34:06',
'2022-02-08 07:37:03', '2022-02-09 22:07:02',
'2022-02-10 09:02:03', '2022-02-10 19:32:25',
'2022-02-12 16:42:03', '2022-02-15 23:19:03'])
result = backtest_results - realtime_test
uj5u.com熱心網友回復:
您在backtest_results最后一行中缺少逗號:
backtest_results = pd.to_datetime(['2022-01-24 10:05:00', '2022-01-27 01:54:00',
'2022-01-30 19:08:00','2022-02-02 14:32:00',
'2022-02-10 02:58:00', '2022-02-10 14:01:00',
'2022-02-11 00:25:00', '2022-02-16 13:49:00'])
^^ here
然后,您可以簡單地從另一個中減去一個。
如果您想要原始差異:
>>> backtest_results - realtime_test
TimedeltaIndex(['-7 days 19:55:57', '-7 days 16:19:54', '-9 days 11:30:57',
'-8 days 16:24:58', '-1 days 17:55:57', '-1 days 18:28:35',
'-2 days 07:42:57', '0 days 14:29:57'],
dtype='timedelta64[ns]', freq=None)
如果你想得到不同的是天數:
>>> (backtest_results - realtime_test).astype('timedelta64[D]')
Float64Index([-7.0, -7.0, -9.0, -8.0, -1.0, -1.0, -2.0, 0.0], dtype='float64')
如果你想要小時的差異:
>>> (backtest_results - realtime_test).astype('timedelta64[h]')
Float64Index([-149.0, -152.0, -205.0, -176.0, -7.0, -6.0, -41.0, 14.0], dtype='float64')
如果你想以分鐘為單位的差異:
>>> (backtest_results - realtime_test).astype('timedelta64[m]')
Float64Index([-8885.0, -9101.0, -12270.0, -10536.0, -365.0, -332.0, -2418.0, 869.0], dtype='float64')
uj5u.com熱心網友回復:
df['diff'] = df.EndDate - df.StartDtate
df.diff = df.diff / np.timedelta64(1. 'D')
“D”代表日,“W”代表周,“M”代表月,“Y”代表年
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/429565.html
標籤:Python python-3.x 熊猫 日期 约会时间
上一篇:在電子表格中替換/追加資料
