Обеспечение функционального изменения даты вместо изменения даты вручную в коде с данными панд - PullRequest
0 голосов
/ 04 мая 2019

Мотивация: в коде у меня несколько мест, где находится целевая дата. Я вручную изменил всю целевую дату, чтобы запустить код. Но вы знаете, было бы хорошо, если бы я мог сделать это автоматизированным.

Моё испытание 1. успех: мне удалось сделать целевую дату функциональной с помощью timedelta. 2. ошибка: однако, когда я вставляю его в код, данные кажутся неверными. Для приведенного ниже примера я установил целевую дату «2019-03-29», но данные распечатывались, начиная с «2019-01-01»

Любое понимание будет очень заметно.

enter image description here

enter image description here

import datetime as dt
import pandas as pd
import pandas_datareader.data as web
import csv
from datetime import datetime, timedelta

#data import
headers = ['ticker','per','date','time','open','high','low','close','vol']
df = pd.read_csv(r"C:\\Users\\x230\\Downloads\\NQ_190101_190531.csv", sep = ';', names=headers, skiprows=[0])
df['date_time'] = df['date'].map(str) + ' ' + df['time'].map(str)               #combine date and time data
df['date_time'] = pd.to_datetime(df['date_time'], format='%d/%m/%y %H:%M:%S')
df.set_index('date_time',inplace=True)                                          #set time back as index

date_start = '2019-03-28'
date_target = (datetime.strptime(date_start, '%Y-%m-%d') + timedelta(days=1)).strftime('%Y-%m-%d')

#selecting data range
df = df.loc[print(date_target,'01:01:00'):print(date_target,'22:59:00')]
df.head()

1 Ответ

0 голосов
/ 05 мая 2019

Простое решение найдено.Как упоминал Крис, добавление строк решает проблему.Увидеть ниже.Спасибо.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...