Итерация по фрейму данных, пока индекс является датой - PullRequest
0 голосов
/ 21 сентября 2018

Интересно, можно ли итерировать по dataframe, пока его индекс является датой, и получить предыдущие индексы без использования предустановленной функции, такой как shift(), rolling() и т. Д.?

import pandas as pd
import numpy as np
pd.core.common.is_list_like = pd.api.types.is_list_like
from pandas_datareader.data import DataReader 
from datetime import datetime

f = DataReader('F', 'robinhood')

f.head () outout screenShot

for index, row in f.iterrows():
prev = f.loc[index - someNumber] <----- You cant minus from date
current = f.loc[index]

1 Ответ

0 голосов
/ 21 сентября 2018

Панды имеют .iloc для доступа к строкам по номеру строки.Вы можете получить текущий номер строки, используя enumerate:

for e, (index, row) in enumerate(f.iterrows()):
    prev = f.iloc[e - 1]
    current = row

Предупреждение: Во время первой итерации (т. Е. Когда e == 0), f.iloc[e - 1] выдаст вам последнюю строкуиз кадра данных.

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