如何在python中合并日期和时间列以进行回测?

时间:2017-05-03 16:36:25

标签: python python-3.x

我正在使用python对过去9年的Nifty日内数据进行回溯测试。为此,我需要准确的日期和时间列,以便我可以生成我的购买和购买卖出信号并对其进行回测。

这个数据给了我Date&在不同列中的时间,我想合并两列,我想生成一个时间戳,如DD / MM / YYY HH:MM:SS

我有以下代码作为输入。

import pandas as pd
import csv
from datetime import datetime

df = pd.read_csv('ticks2.csv', parse_dates=['Date'])

print(df.head())
type(df)
df.dtypes

输出

 Symbol       Date      Time     Open     High      Low    Close
0  NIFTY 2008-01-01  09:55:00  6138.60  6154.60  6138.60  6148.90
1  NIFTY 2008-01-01  09:56:00  6149.75  6149.75  6132.80  6132.80
2  NIFTY 2008-01-01  09:57:00  6138.25  6138.25  6127.95  6127.95
3  NIFTY 2008-01-01  09:58:00  6127.15  6127.15  6120.90  6120.90
4  NIFTY 2008-01-01  09:59:00  6118.05  6118.05  6113.55  6113.90
Out[28]:
Symbol            object
Date      datetime64[ns]
Time              object
Open             float64
High             float64
Low              float64
Close            float64
dtype: object

1 个答案:

答案 0 :(得分:0)

查看pandas文档,您可以在创建数据框时将这些组合在一起,您可以使用两个列上的解析日期,如下所示。

df = pd.read_csv('ticks2.csv', parse_dates=[['Date', 'Time']])

有关文档中提供的read_csv的更多信息。 http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html