1
У меня есть панд dataframe индексированный по времениперебирать куски dataframe за определенный период времени
>>> df
A B C D
2000-01-03 1.991135 0.045306 -0.657898 0.311375
2000-01-04 0.690848 1.862244 0.709432 -2.080355
2000-01-05 0.602610 -0.205035 1.248848 0.192274
2000-01-06 -0.646513 -0.170194 0.365317 0.121467
2000-01-07 0.461580 0.259200 0.734326 1.885612
2000-01-10 -1.277500 0.840206 -0.570010 0.155367
...
Я хочу, чтобы эффективно разделить этот dataframe с отсортированного индекса на период даты и времени. Я хочу, чтобы итератор меньших dataframes в результате
seq = partition_all(df, freq='1M')
>>> next(seq)
A B C D
2000-01-03 1.991135 0.045306 -0.657898 0.311375
2000-01-04 0.690848 1.862244 0.709432 -2.080355
2000-01-05 0.602610 -0.205035 1.248848 0.192274
...
>>> next(seq)
A B C D
2000-02-01 -0.108412 0.188484 -0.568542 0.335969
2000-02-02 0.855690 -0.283225 1.471867 0.309235
2000-02-03 -0.266090 0.684080 0.187856 1.734062
...
Это линейное время, если индекс отсортирован? – MRocklin
Nevermind, это очень быстро, как есть. – MRocklin
@MRocklin IIUC. Если индекс отсортирован, он может быть немного быстрее, DatetimeIndex имеет отсортированный флаг, что иногда позволяет альгосам проходить более быстрый путь. Я не уверен, что это будет иметь эффект в этом случае. –