我有一个data_frame d1:
Date Open High Low Close
2019-07-15 1.25736 1.25782 1.25105 1.25162
2019-07-16 1.25161 1.25207 1.23963 1.24056
2019-07-17 1.24056 1.24564 1.23825 1.24362
2019-07-18 1.24330 1.25585 1.24282 1.25470
2019-07-19 1.25470 1.25562 1.24778 1.25015
2019-07-20 1.25070 1.25139 1.24559 1.24776
2019-07-21 1.24766 1.24816 1.24180 1.24391
2019-07-22 1.24394 1.25220 1.24278 1.24837
2019-07-23 1.24837 1.25175 1.24369 1.24543
2019-07-24 1.24540 1.24597 1.23765 1.23867
2019-07-25 1.23806 1.23840 1.22123 1.22175
2019-07-26 1.22184 1.22260 1.21200 1.21517
2019-07-27 1.21517 1.22488 1.21350 1.21532
2019-07-28 1.21533 1.21704 1.20798 1.21191
2019-07-29 1.21191 1.21696 1.20902 1.21496
2019-07-30 1.21511 1.21883 1.21018 1.21443
2019-07-31 1.21445 1.22091 1.21358 1.21696
我想创建更高周期的变量,比方说2D。 我正在使用resample()方法来完成此操作。
d2_1 = d1.resample('2d').apply(
{
'Open': 'first',
'High': 'max',
'Low': 'min',
'Close': 'last'
})
得到结果:
Date Open High Low Close
2019-07-15 1.25736 1.25782 1.23963 1.24056
2019-07-17 1.24056 1.25585 1.23825 1.25470
2019-07-19 1.25470 1.25562 1.24559 1.24776
2019-07-21 1.24766 1.25220 1.24180 1.24837
2019-07-23 1.24837 1.25175 1.23765 1.23867
2019-07-25 1.23806 1.23840 1.21200 1.21517
2019-07-27 1.21517 1.22488 1.20798 1.21191
2019-07-29 1.21191 1.21883 1.20902 1.21443
2019-07-31 1.21445 1.22091 1.21217 1.21431
但这只是2D1周期的一个变体,起始点是D1的第一行。
我不知道如何创建一个2D2周期,其中起点将是第二行:
2019-07-16 1.25161 1.25207 1.23963 1.24056
所以,我希望得到结果:
2019-07-16 1.25161 1.25207 1.23963 1.24056
2019-07-18 1.24330 1.25585 1.24282 1.25470
2019-07-20 1.25070 1.25139 1.24559 1.24776
2019-07-22 1.24394 1.25220 1.24278 1.24837
2019-07-24 1.24540 1.24597 1.23765 1.23867
2019-07-26 1.22184 1.22260 1.21200 1.21517
2019-07-28 1.21533 1.21704 1.20798 1.21191
2019-07-30 1.21511 1.21883 1.21018 1.21443
我该怎么做? 是否有一个参数可以设置重新采样的起点?
答案 0 :(得分:0)
如何在重新采样之前对数据进行切片?
df2.iloc[1:].resample('2d').apply({'Open': 'first','High': 'max','Low':'min','Close': 'last'})