import pandas as pd
import numpy as np
df = pd.DataFrame()
df['german_army'] = np.random.randint(low=20000, high=30000, size=100)
df['allied_army'] = np.random.randint(low=20000, high=40000, size=100)
df.index = pd.date_range('1/1/2014', periods=100, freq='H')
df.head()
german_army | allied_army | |
---|---|---|
2014-01-01 00:00:00 | 21331 | 39348 |
2014-01-01 01:00:00 | 27465 | 37775 |
2014-01-01 02:00:00 | 20310 | 21410 |
2014-01-01 03:00:00 | 22145 | 25203 |
2014-01-01 04:00:00 | 22871 | 36609 |
5 rows × 2 columns
df.truncate(before='1/2/2014', after='1/3/2014')
german_army | allied_army | |
---|---|---|
2014-01-02 00:00:00 | 27290 | 36896 |
2014-01-02 01:00:00 | 26079 | 31298 |
2014-01-02 02:00:00 | 28663 | 26045 |
2014-01-02 03:00:00 | 23328 | 39686 |
2014-01-02 04:00:00 | 25243 | 24545 |
2014-01-02 05:00:00 | 29998 | 23463 |
2014-01-02 06:00:00 | 22779 | 27992 |
2014-01-02 07:00:00 | 25155 | 33747 |
2014-01-02 08:00:00 | 29279 | 32127 |
2014-01-02 09:00:00 | 23138 | 27684 |
2014-01-02 10:00:00 | 24622 | 24583 |
2014-01-02 11:00:00 | 29302 | 22012 |
2014-01-02 12:00:00 | 29941 | 25643 |
2014-01-02 13:00:00 | 28130 | 35022 |
2014-01-02 14:00:00 | 26980 | 24659 |
2014-01-02 15:00:00 | 20435 | 27753 |
2014-01-02 16:00:00 | 29291 | 25136 |
2014-01-02 17:00:00 | 24594 | 35866 |
2014-01-02 18:00:00 | 28721 | 32888 |
2014-01-02 19:00:00 | 23935 | 25330 |
2014-01-02 20:00:00 | 22258 | 30980 |
2014-01-02 21:00:00 | 22660 | 39378 |
2014-01-02 22:00:00 | 24651 | 32796 |
2014-01-02 23:00:00 | 26162 | 30592 |
2014-01-03 00:00:00 | 21352 | 38357 |
25 rows × 2 columns
df.index = df.index + pd.DateOffset(months=4, days=5)
df.head()
german_army | allied_army | |
---|---|---|
2014-05-06 00:00:00 | 21331 | 39348 |
2014-05-06 01:00:00 | 27465 | 37775 |
2014-05-06 02:00:00 | 20310 | 21410 |
2014-05-06 03:00:00 | 22145 | 25203 |
2014-05-06 04:00:00 | 22871 | 36609 |
5 rows × 2 columns
df.shift(1).head()
german_army | allied_army | |
---|---|---|
2014-05-06 00:00:00 | NaN | NaN |
2014-05-06 01:00:00 | 21331 | 39348 |
2014-05-06 02:00:00 | 27465 | 37775 |
2014-05-06 03:00:00 | 20310 | 21410 |
2014-05-06 04:00:00 | 22145 | 25203 |
5 rows × 2 columns
df.shift(-1).tail()
german_army | allied_army | |
---|---|---|
2014-05-09 23:00:00 | 28359 | 39177 |
2014-05-10 00:00:00 | 27881 | 29686 |
2014-05-10 01:00:00 | 26585 | 26210 |
2014-05-10 02:00:00 | 22266 | 35398 |
2014-05-10 03:00:00 | NaN | NaN |
5 rows × 2 columns
df.resample('D', how='sum')
german_army | allied_army | |
---|---|---|
2014-05-06 | 586399 | 722666 |
2014-05-07 | 622634 | 716121 |
2014-05-08 | 609257 | 781811 |
2014-05-09 | 589086 | 672985 |
2014-05-10 | 105091 | 130471 |
5 rows × 2 columns
df.resample('D', how='mean')
german_army | allied_army | |
---|---|---|
2014-05-06 | 24433.291667 | 30111.083333 |
2014-05-07 | 25943.083333 | 29838.375000 |
2014-05-08 | 25385.708333 | 32575.458333 |
2014-05-09 | 24545.250000 | 28041.041667 |
2014-05-10 | 26272.750000 | 32617.750000 |
5 rows × 2 columns
df.resample('D', how='min')
german_army | allied_army | |
---|---|---|
2014-05-06 | 20310 | 20241 |
2014-05-07 | 20435 | 22012 |
2014-05-08 | 20006 | 20266 |
2014-05-09 | 20089 | 20308 |
2014-05-10 | 22266 | 26210 |
5 rows × 2 columns
df.resample('D', how='median')
german_army | allied_army | |
---|---|---|
2014-05-06 | 23820 | 29733.0 |
2014-05-07 | 25661 | 29292.0 |
2014-05-08 | 25276 | 32969.0 |
2014-05-09 | 24177 | 26887.5 |
2014-05-10 | 27233 | 32542.0 |
5 rows × 2 columns
df.resample('D', how='first')
german_army | allied_army | |
---|---|---|
2014-05-06 | 21331 | 39348 |
2014-05-07 | 27290 | 36896 |
2014-05-08 | 21352 | 38357 |
2014-05-09 | 25561 | 21868 |
2014-05-10 | 28359 | 39177 |
5 rows × 2 columns
df.resample('D', how='last')
german_army | allied_army | |
---|---|---|
2014-05-06 | 24976 | 29632 |
2014-05-07 | 26162 | 30592 |
2014-05-08 | 28828 | 36941 |
2014-05-09 | 25573 | 24839 |
2014-05-10 | 22266 | 35398 |
5 rows × 2 columns
df.resample('D', how='ohlc')
german_army | allied_army | |||||||
---|---|---|---|---|---|---|---|---|
open | high | low | close | open | high | low | close | |
2014-05-06 | 21331 | 29557 | 20310 | 24976 | 39348 | 39348 | 20241 | 29632 |
2014-05-07 | 27290 | 29998 | 20435 | 26162 | 36896 | 39686 | 22012 | 30592 |
2014-05-08 | 21352 | 29253 | 20006 | 28828 | 38357 | 39996 | 20266 | 36941 |
2014-05-09 | 25561 | 29792 | 20089 | 25573 | 21868 | 38827 | 20308 | 24839 |
2014-05-10 | 28359 | 28359 | 22266 | 22266 | 39177 | 39177 | 26210 | 35398 |
5 rows × 8 columns