Я хочу перебрать список с входными переменными над следующей функцией, чтобы затем вернуть результат в виде CSV-файла.У меня есть большой CSV-файл, который мне в первую очередь важен для создания фрейма данных.Затем я хочу получить определенную часть кадра данных, а именно, -10 дней и +10 дней вокруг определенной даты и для определенной акции.
Фрейм данных выглядит следующим образом (это лишь небольшая часть, в действительности это 100k + строк, на каждый день, все биржевые сводки, за период 2011 - 2019)
Date Symbol ShortExemptVolume ShortVolume TotalVolume
2011-01-03 AAWW 0.0 28369 78113.0
2011-01-03 AMD 0.0 3183556 8095093.0
2011-01-03 AMRS 0.0 14196 18811.0
2011-01-03 ARAY 0.0 31685 77976.0
2011-01-03 ARCC 0.0 177208 423768.0
Функция заключается в следующем.Он фильтрует фрейм данных для биржевого тикера и затем дат (-10 и +10 дней вокруг определенной конкретной даты).
import pandas as pd
from datetime import datetime
import urllib
import datetime
def get_data(issue_date, stock_ticker):
df = pd.read_csv (r'C:\Users\name\document.csv')
df['Date'] = pd.to_datetime(df['Date'], format="%Y%m%d")
x = -10 #set window range
y = -(x)
date_1 = datetime.datetime.strptime(issue_date, "%Y-%m-%d")
before_date = pricing_date = date_1 + datetime.timedelta(days=x) days of issue date
after_date = date_1 + datetime.timedelta(days=y)
cond1 = df['Date'] >= before_date
cond2 = df['Date'] <= after_date
cond3 = df['Symbol'] == 'stock_ticker'
short_data = df[cond1 & cond2 & cond3]
return [short_data]
У меня есть список из пары сотен строк, которые содержатконкретный тикер акций и дату выпуска, например, вот так:
ARAY 4/24/2014
ACET 11/16/2015
ACET 11/16/2015
AEGR 8/15/2014
ATSG 9/29/2017
Я хотел бы перебрать список с акциями и их соответствующей датой по функции и получить выходные данные в формате csv.Выходные данные должны содержать 20 дат для каждой строки входного файла.
Любые советы или помощь приветствуются