我想知道在索引为日期的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')
for index, row in f.iterrows():
prev = f.loc[index - someNumber] <----- You cant minus from date
current = f.loc[index]
答案 0 :(得分:0)
Pandas具有.iloc
,用于按行号访问行。您可以使用enumerate
获取当前行号:
for e, (index, row) in enumerate(f.iterrows()):
prev = f.iloc[e - 1]
current = row
警告:在第一次迭代期间(即e == 0
时),f.iloc[e - 1]
将为您提供数据帧的最后一行。