In [1]:
%matplotlib notebook

In [2]:
import pandas as pd
import numpy as np
import matplotlib

In [3]:
from matplotlib import pyplot as plt
import seaborn as sns

In [4]:
ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000))

In [12]:
print(ts)


2000-01-01    1.325405e-01
2000-01-02   -1.684732e+00
2000-01-03   -4.606681e+00
2000-01-04   -9.156361e+00
2000-01-05   -1.504007e+01
2000-01-06   -2.222121e+01
2000-01-07   -3.207867e+01
2000-01-08   -4.494228e+01
2000-01-09   -6.286359e+01
2000-01-10   -8.568942e+01
2000-01-11   -1.129564e+02
2000-01-12   -1.428415e+02
2000-01-13   -1.757838e+02
2000-01-14   -2.121321e+02
2000-01-15   -2.519165e+02
2000-01-16   -2.958448e+02
2000-01-17   -3.437243e+02
2000-01-18   -3.942220e+02
2000-01-19   -4.486579e+02
2000-01-20   -5.060671e+02
2000-01-21   -5.662686e+02
2000-01-22   -6.282219e+02
2000-01-23   -6.915736e+02
2000-01-24   -7.568617e+02
2000-01-25   -8.227163e+02
2000-01-26   -8.894353e+02
2000-01-27   -9.565688e+02
2000-01-28   -1.022911e+03
2000-01-29   -1.087903e+03
2000-01-30   -1.150532e+03
                  ...     
2002-08-28    4.949674e+06
2002-08-29    4.967596e+06
2002-08-30    4.985545e+06
2002-08-31    5.003523e+06
2002-09-01    5.021528e+06
2002-09-02    5.039560e+06
2002-09-03    5.057619e+06
2002-09-04    5.075707e+06
2002-09-05    5.093823e+06
2002-09-06    5.111969e+06
2002-09-07    5.130146e+06
2002-09-08    5.148351e+06
2002-09-09    5.166586e+06
2002-09-10    5.184848e+06
2002-09-11    5.203138e+06
2002-09-12    5.221457e+06
2002-09-13    5.239804e+06
2002-09-14    5.258179e+06
2002-09-15    5.276583e+06
2002-09-16    5.295015e+06
2002-09-17    5.313475e+06
2002-09-18    5.331965e+06
2002-09-19    5.350483e+06
2002-09-20    5.369030e+06
2002-09-21    5.387605e+06
2002-09-22    5.406207e+06
2002-09-23    5.424837e+06
2002-09-24    5.443494e+06
2002-09-25    5.462179e+06
2002-09-26    5.480893e+06
Freq: D, Length: 1000, dtype: float64

In [10]:
ts = ts.cumsum()

In [11]:
print(ts)


2000-01-01    1.325405e-01
2000-01-02   -1.684732e+00
2000-01-03   -4.606681e+00
2000-01-04   -9.156361e+00
2000-01-05   -1.504007e+01
2000-01-06   -2.222121e+01
2000-01-07   -3.207867e+01
2000-01-08   -4.494228e+01
2000-01-09   -6.286359e+01
2000-01-10   -8.568942e+01
2000-01-11   -1.129564e+02
2000-01-12   -1.428415e+02
2000-01-13   -1.757838e+02
2000-01-14   -2.121321e+02
2000-01-15   -2.519165e+02
2000-01-16   -2.958448e+02
2000-01-17   -3.437243e+02
2000-01-18   -3.942220e+02
2000-01-19   -4.486579e+02
2000-01-20   -5.060671e+02
2000-01-21   -5.662686e+02
2000-01-22   -6.282219e+02
2000-01-23   -6.915736e+02
2000-01-24   -7.568617e+02
2000-01-25   -8.227163e+02
2000-01-26   -8.894353e+02
2000-01-27   -9.565688e+02
2000-01-28   -1.022911e+03
2000-01-29   -1.087903e+03
2000-01-30   -1.150532e+03
                  ...     
2002-08-28    4.949674e+06
2002-08-29    4.967596e+06
2002-08-30    4.985545e+06
2002-08-31    5.003523e+06
2002-09-01    5.021528e+06
2002-09-02    5.039560e+06
2002-09-03    5.057619e+06
2002-09-04    5.075707e+06
2002-09-05    5.093823e+06
2002-09-06    5.111969e+06
2002-09-07    5.130146e+06
2002-09-08    5.148351e+06
2002-09-09    5.166586e+06
2002-09-10    5.184848e+06
2002-09-11    5.203138e+06
2002-09-12    5.221457e+06
2002-09-13    5.239804e+06
2002-09-14    5.258179e+06
2002-09-15    5.276583e+06
2002-09-16    5.295015e+06
2002-09-17    5.313475e+06
2002-09-18    5.331965e+06
2002-09-19    5.350483e+06
2002-09-20    5.369030e+06
2002-09-21    5.387605e+06
2002-09-22    5.406207e+06
2002-09-23    5.424837e+06
2002-09-24    5.443494e+06
2002-09-25    5.462179e+06
2002-09-26    5.480893e+06
Freq: D, Length: 1000, dtype: float64

In [15]:
df = pd.DataFrame(np.random.randn(1000, 4), index=ts.index, columns=['A', 'B', 'C', 'D'])

In [16]:
print(df)


                   A         B         C         D
2000-01-01 -1.865948  1.181022 -0.037331  0.584281
2000-01-02 -0.114954  0.020145  2.576777 -0.392966
2000-01-03  0.188346 -1.604162  0.736116  0.650722
2000-01-04 -1.887079  0.224595  1.625371 -1.848085
2000-01-05 -0.694090 -1.144592 -0.934515  1.206936
2000-01-06 -0.325216 -0.489407 -1.606930  1.733874
2000-01-07  0.711719 -0.998784  1.003303  1.005422
2000-01-08  1.903807  2.827379 -0.337027  1.180744
2000-01-09  0.867600  0.918835  0.073178 -0.721557
2000-01-10  0.336077  1.317128 -0.014258  1.353903
2000-01-11  1.345675  0.782193 -0.277731  0.307079
2000-01-12  0.335475  0.053167  1.013962  1.403344
2000-01-13 -1.486110  1.278962 -0.830403  1.616864
2000-01-14 -1.286890 -1.488891 -0.122514  0.454613
2000-01-15  0.305534 -0.509130 -0.272709 -1.065348
2000-01-16  0.829358  0.333587 -0.712293  0.120674
2000-01-17  0.105410  0.915846  0.419711 -0.553926
2000-01-18 -0.360038 -1.093215 -0.681342 -1.459117
2000-01-19 -1.382207 -0.628376  0.381098  0.462849
2000-01-20 -0.928657  2.157015  0.700486  0.327814
2000-01-21 -0.074154 -0.697233  1.834728  0.444740
2000-01-22 -1.107851  0.708911 -1.747157 -1.215695
2000-01-23 -1.165412 -0.678830 -0.128773 -0.442440
2000-01-24 -2.007752 -0.196270 -1.267317  0.227903
2000-01-25  0.858223  0.010631  1.881891 -0.103131
2000-01-26  0.452645  0.635929  0.073092  0.543041
2000-01-27  0.509323 -0.511491  0.379583 -0.627947
2000-01-28 -0.827275  0.852722 -2.526290 -2.428537
2000-01-29 -0.417263  0.205999  0.728793  0.032342
2000-01-30  1.514738  0.584559 -0.956813 -0.242079
...              ...       ...       ...       ...
2002-08-28  1.032236  1.911550  0.981185  0.925417
2002-08-29 -0.946982  1.089645 -1.097448  0.223545
2002-08-30  1.310000 -0.596742  0.513940  0.240268
2002-08-31 -1.764837 -0.445267 -0.454239  0.234752
2002-09-01 -1.129580  0.133549  0.141354 -1.695686
2002-09-02  0.172902 -0.656782  1.186651  0.131546
2002-09-03 -0.961315 -0.166262  0.587436  1.748313
2002-09-04 -0.370396 -0.678848 -0.897737  1.118227
2002-09-05  0.028631  0.437563 -0.411864 -0.526937
2002-09-06 -0.976207 -2.215286 -1.019195 -0.394802
2002-09-07 -1.675998 -1.000734  0.988424 -0.183974
2002-09-08 -0.952468  2.137638 -0.975940 -1.122946
2002-09-09  0.517509  0.728121  1.175327 -0.587812
2002-09-10 -0.037489 -1.263986  0.474634 -1.133513
2002-09-11  0.200307  0.094134 -1.278186  0.531671
2002-09-12 -0.453980 -0.663326  1.121735 -1.373662
2002-09-13 -0.589757 -0.486767 -0.318997 -0.738375
2002-09-14  0.672329 -0.695672 -0.887676 -1.048018
2002-09-15  1.373961  0.357242  0.903386  0.715612
2002-09-16 -0.809835 -1.770860  0.836103 -0.320639
2002-09-17 -0.072962 -0.608532  0.656779  0.625764
2002-09-18 -0.721323  0.009586  0.315782  0.022939
2002-09-19 -0.677105 -0.369775 -1.814278 -1.876779
2002-09-20  1.109696  0.274055 -1.699391  0.112003
2002-09-21 -0.171426  0.137888 -0.155116 -1.750156
2002-09-22 -0.333197 -0.355941 -0.357279 -0.815237
2002-09-23  1.560574 -0.146558  1.314809 -0.430476
2002-09-24 -0.153373 -0.713692  1.684264  2.013571
2002-09-25 -1.015738 -0.453608 -1.162620  2.683460
2002-09-26  0.805990  0.791784 -0.456925  0.794993

[1000 rows x 4 columns]

In [17]:
df = df.cumsum()

In [18]:
print(df)


                    A          B          C         D
2000-01-01  -1.865948   1.181022  -0.037331  0.584281
2000-01-02  -1.980902   1.201167   2.539446  0.191315
2000-01-03  -1.792556  -0.402995   3.275562  0.842037
2000-01-04  -3.679635  -0.178400   4.900933 -1.006047
2000-01-05  -4.373725  -1.322992   3.966418  0.200889
2000-01-06  -4.698941  -1.812399   2.359488  1.934763
2000-01-07  -3.987223  -2.811183   3.362791  2.940185
2000-01-08  -2.083416   0.016197   3.025764  4.120929
2000-01-09  -1.215815   0.935032   3.098942  3.399371
2000-01-10  -0.879739   2.252160   3.084683  4.753274
2000-01-11   0.465936   3.034354   2.806952  5.060353
2000-01-12   0.801412   3.087520   3.820914  6.463697
2000-01-13  -0.684699   4.366482   2.990512  8.080561
2000-01-14  -1.971589   2.877591   2.867997  8.535175
2000-01-15  -1.666055   2.368461   2.595288  7.469827
2000-01-16  -0.836697   2.702047   1.882996  7.590501
2000-01-17  -0.731287   3.617893   2.302706  7.036574
2000-01-18  -1.091325   2.524678   1.621364  5.577458
2000-01-19  -2.473532   1.896302   2.002462  6.040307
2000-01-20  -3.402189   4.053317   2.702948  6.368121
2000-01-21  -3.476343   3.356084   4.537676  6.812861
2000-01-22  -4.584194   4.064995   2.790518  5.597166
2000-01-23  -5.749607   3.386165   2.661745  5.154725
2000-01-24  -7.757358   3.189895   1.394428  5.382629
2000-01-25  -6.899135   3.200526   3.276319  5.279498
2000-01-26  -6.446490   3.836455   3.349412  5.822539
2000-01-27  -5.937167   3.324964   3.728995  5.194592
2000-01-28  -6.764442   4.177685   1.202704  2.766055
2000-01-29  -7.181705   4.383685   1.931498  2.798397
2000-01-30  -5.666967   4.968243   0.974684  2.556317
...               ...        ...        ...       ...
2002-08-28  12.284674 -28.990295  23.670637  2.920240
2002-08-29  11.337692 -27.900650  22.573188  3.143784
2002-08-30  12.647692 -28.497392  23.087128  3.384052
2002-08-31  10.882855 -28.942660  22.632889  3.618804
2002-09-01   9.753275 -28.809110  22.774244  1.923118
2002-09-02   9.926177 -29.465892  23.960894  2.054664
2002-09-03   8.964862 -29.632155  24.548331  3.802977
2002-09-04   8.594466 -30.311002  23.650593  4.921205
2002-09-05   8.623097 -29.873440  23.238729  4.394267
2002-09-06   7.646890 -32.088726  22.219534  3.999465
2002-09-07   5.970892 -33.089460  23.207958  3.815491
2002-09-08   5.018424 -30.951823  22.232018  2.692545
2002-09-09   5.535932 -30.223702  23.407346  2.104732
2002-09-10   5.498444 -31.487688  23.881980  0.971219
2002-09-11   5.698751 -31.393553  22.603794  1.502890
2002-09-12   5.244771 -32.056880  23.725529  0.129228
2002-09-13   4.655014 -32.543647  23.406533 -0.609147
2002-09-14   5.327343 -33.239319  22.518857 -1.657164
2002-09-15   6.701304 -32.882077  23.422242 -0.941552
2002-09-16   5.891470 -34.652937  24.258345 -1.262192
2002-09-17   5.818508 -35.261469  24.915124 -0.636428
2002-09-18   5.097184 -35.251883  25.230905 -0.613489
2002-09-19   4.420079 -35.621658  23.416627 -2.490268
2002-09-20   5.529775 -35.347602  21.717237 -2.378265
2002-09-21   5.358349 -35.209714  21.562121 -4.128421
2002-09-22   5.025152 -35.565655  21.204842 -4.943658
2002-09-23   6.585726 -35.712213  22.519651 -5.374135
2002-09-24   6.432352 -36.425904  24.203915 -3.360564
2002-09-25   5.416614 -36.879513  23.041295 -0.677104
2002-09-26   6.222605 -36.087729  22.584371  0.117890

[1000 rows x 4 columns]

In [25]:
df.plot(); plt.legend(loc='best')


Out[25]:
<matplotlib.legend.Legend at 0x1f2c2d610f0>

In [ ]: