将Yahoo Finance中的Timeseries数据下载到以DataTimeIndex作为索引的pandas DataFrame并使用for循环迭代数据集后,我正在寻找以整数步骤来回的构造,即如下所示构建的日期索引星期五有2天的差距,其他工作日有1天。
for i in pd.MyDataFrame.index[1:]:
print(MyDataFrame[i-1]) or i-2 or i+2 above
因此允许我在识别DF中的枢轴行后来回走动。 它不允许整数减法
由于
答案 0 :(得分:0)
不清楚您的确切需求,但以下内容演示了如何使用iloc
来实现您的目标:
In [206]:
df = pd.DataFrame({'row': np.arange(10), 'value':np.random.randn(10)})
df
Out[206]:
row value
0 0 1.183865
1 1 -0.206004
2 2 -0.251152
3 3 -0.246940
4 4 -0.898938
5 5 -0.278680
6 6 -0.658099
7 7 2.007017
8 8 -2.304950
9 9 0.599819
In [211]:
for i in range(len(df)):
print("row", df.iloc[i]['row'], "value: ", df.iloc[i]['value'])
if i != 0 and i%3 == 0:
print("prev -2 row: ", df.iloc[i-2]['row'], "value: ", df.iloc[i-2]['value'])
row 0.0 value: 1.18386492781
row 1.0 value: -0.206003776639
row 2.0 value: -0.251152226938
row 3.0 value: -0.246940111559
prev -2 row: 1.0 value: -0.206003776639
row 4.0 value: -0.898938240373
row 5.0 value: -0.278680105208
row 6.0 value: -0.658099354022
prev -2 row: 4.0 value: -0.898938240373
row 7.0 value: 2.00701698585
row 8.0 value: -2.30495039859
row 9.0 value: 0.599819374456
prev -2 row: 7.0 value: 2.00701698585