Skip to content

Instantly share code, notes, and snippets.

@erg
Created September 4, 2012 18:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save erg/3624548 to your computer and use it in GitHub Desktop.
Save erg/3624548 to your computer and use it in GitHub Desktop.
pandas.rolling_std, bottleneck.move_std give nans and different results
In [80]: pandas.rolling_std(x, 3)
Out[80]:
array([ nan, nan, 0.00019071, 0.00068791, 0.00077105,
0.00049515, 0.00049515, nan, nan, 0.00016529,
0.00016529, 0.00033029, 0.00033029, nan, nan,
0.0004406 , 0.0004406 , 0.00005526, 0.00074753, 0.00077363,
0. , 0.00027683, 0.00027683, nan, 0.00033289,
0.00062506, 0.00036363, 0.00005541, 0.00005539, 0.00005539,
0.00044301, 0.00044301, 0.00011101, 0.00011101, nan,
0.00055611, 0.00055611, 0.00033354, 0.00033354, nan,
0.00022231, 0.00022231, 0. , 0.00022246, 0.00022246,
0.00050108, 0.00050108, 0. , 0.00027891, 0.00027891,
0.00055842, 0.00049637, 0.0003394 , 0.00022322, 0.00078133,
0.00091344, 0.0004352 , 0.00027856, nan, nan,
nan, 0.00022257, 0.00022257, nan, nan,
0.00022253, 0.00022253, nan, nan, nan,
nan, nan, 0.00016688, 0.00016688, 0. ,
0.00016691, 0.00016691, 0.00016678, 0.00016678, 0. ,
0.00011134, 0.00014726, 0.00016698, 0.00016714, 0.00016714,
0.0004454 , 0.00038573, 0.00025495, 0.00005565, 0.00027835,
0.00025512, 0.00005564, nan, nan, nan,
0.00011119, 0.0001112 , 0.00011121, 0. , 0. ,
0. , 0. , 0.0001668 , 0.00033826, 0.00022246,
0. , 0. , 0.00027829, 0.00027829, 0.00005563,
0.00009635, 0.00005563, 0. , 0. , 0. ,
0. , 0.00038969, 0.00033862, 0.00016712, nan,
0.00016722, 0.00016722, 0.00011144, 0.00011144, 0.00011154,
0.00051107, 0.0004764 , 0.00014741, 0.00011143, 0.00055761,
0.0006573 , 0.00014739, 0.00005569, nan, nan,
0.00050137, 0.00050137, 0.00005576, 0.00005576, nan,
nan, 0.00033486, 0.00033486, nan, nan,
0.00005591, 0.00005591, 0.00027953, 0.00027953, nan,
nan, 0.00011202, 0.00011202, nan, 0.00016792,
0.00016792, 0.00016793, 0.00016796, 0.00034049, 0.00063102,
0.00033609, nan, 0.00016829, 0.00016827, 0.00016824,
0.00005599, 0.00036711, 0.0003359 , 0.00050365, 0.00050365,
0.00011215, 0.00011215, 0.00039264, 0.00034118, 0.00022421,
nan, 0.00011229, 0.00040496, 0.00044926, nan,
0.00005614, 0.00005614, 0.00028054, 0.00028054, nan,
nan, nan, 0.00056097, 0.00049864, 0.00016813,
nan, nan, 0.00022365, 0.00022365, 0.00044756,
0.00042236, 0.00005599, 0.00005598, nan, 0.00011199,
0.00011199, nan])
In [81]: bn.move_std(x,3)
Out[81]:
array([ nan, nan, 0.00015572, 0.00056167, 0.00062956,
0.00040429, 0.00040429, nan, nan, 0.00013496,
0.00013496, 0.00026968, 0.00026968, nan, nan,
0.00035975, 0.00035975, 0.00004512, 0.00061036, 0.00063167,
nan, 0.00022603, 0.00022603, 0. , 0.00027181,
0.00051036, 0.0002969 , 0.00004524, 0.00004522, 0.00004522,
0.00036171, 0.00036171, 0.00009064, 0.00009064, nan,
0.00045406, 0.00045406, 0.00027233, 0.00027233, nan,
0.00018152, 0.00018152, nan, 0.00018164, 0.00018164,
0.00040913, 0.00040913, 0. , 0.00022773, 0.00022773,
0.00045595, 0.00040529, 0.00027712, 0.00018226, 0.00063796,
0.00074582, 0.00035534, 0.00022745, 0. , 0. ,
0. , 0.00018173, 0.00018173, 0. , 0. ,
0.00018169, 0.00018169, 0. , 0. , 0. ,
0. , 0. , 0.00013626, 0.00013626, 0. ,
0.00013628, 0.00013628, 0.00013618, 0.00013618, 0. ,
0.00009091, 0.00012024, 0.00013634, 0.00013647, 0.00013647,
0.00036367, 0.00031495, 0.00020817, 0.00004544, 0.00022727,
0.0002083 , 0.00004543, 0. , 0. , 0. ,
0.00009079, 0.00009079, 0.0000908 , 0. , 0. ,
0. , 0. , 0.00013619, 0.00027619, 0.00018164,
0. , 0. , 0.00022723, 0.00022723, 0.00004542,
0.00007867, 0.00004542, 0. , 0. , 0. ,
0. , 0.00031818, 0.00027648, 0.00013645, 0. ,
0.00013653, 0.00013653, 0.00009099, 0.00009099, 0.00009108,
0.00041729, 0.00038898, 0.00012036, 0.00009098, 0.00045529,
0.00053669, 0.00012034, 0.00004547, 0. , 0. ,
0.00040936, 0.00040936, 0.00004552, 0.00004552, 0. ,
0. , 0.00027341, 0.00027341, 0. , 0. ,
0.00004565, 0.00004565, 0.00022824, 0.00022824, 0. ,
0. , 0.00009146, 0.00009146, 0. , 0.0001371 ,
0.0001371 , 0.00013712, 0.00013714, 0.00027801, 0.00051523,
0.00027442, 0. , 0.00013741, 0.00013739, 0.00013737,
0.00004571, 0.00029974, 0.00027426, 0.00041123, 0.00041123,
0.00009157, 0.00009157, 0.00032059, 0.00027857, 0.00018307,
0. , 0.00009169, 0.00033065, 0.00036682, 0. ,
0.00004583, 0.00004583, 0.00022906, 0.00022906, 0. ,
0. , 0. , 0.00045803, 0.00040714, 0.00013728,
0. , 0. , 0.00018261, 0.00018261, 0.00036543,
0.00034485, 0.00004571, 0.00004571, 0. , 0.00009144,
0.00009144, 0. ])
@erg
Copy link
Author

erg commented Sep 4, 2012

In ipython2:

import numpy as np
import pandas
import bottleneck as bn

x = np.load('testx.npy')
pandas.rolling_std(x, 3)
bn.move_std(x,3)

@erg
Copy link
Author

erg commented Sep 4, 2012

3 <windowed-sequence> [ std ] map .
{
    0.0
    0.0001348796912136224
    0.0001907123116365132
    0.0006879055783587404
    0.0007710487235195566
    0.0004951546047934827
    0.0004951546047934827
    0.0
    0.0
    0.0001652877953593399
    0.0001652877953593399
    0.0003302919160122122
    0.0003302919160122122
    0.0
    0.0
    0.0004405992705826863
    0.0004405992705826863
    5.526469505051948e-05
    0.0007475330364059591
    0.0007736316777052826
    2.655742100606481e-19
    0.000276826941499482
    0.000276826941499482
    1.32787105030324e-19
    0.0003328946391637943
    0.0006250567562260531
    0.0003636272374962694
    5.541321328253432e-05
    5.538663365230706e-05
    5.538663365230706e-05
    0.0004430080715057124
    0.0004430080715057124
    0.0001110075503153819
    0.0001110075503153819
    0.0
    0.0005561069824596914
    0.0005561069824596914
    0.0003335356841095591
    0.0003335356841095591
    0.0
    0.0002223143123558099
    0.0002223143123558098
    0.0
    0.0002224642208566837
    0.0002224642208566837
    0.0005010754506030778
    0.0005010754506030778
    0.0
    0.0002789131735217815
    0.0002789131735217815
    0.0005584198367238356
    0.0004963708576377321
    0.0003394038158374531
    0.0002232168061817236
    0.0007813343420621242
    0.0009134397640738239
    0.0004352013825137094
    0.0002785632872670872
    0.0
    0.0
    0.0
    0.0002225714222038891
    0.0002225714222038891
    0.0
    0.0
    0.0002225285292704514
    0.0002225285292704514
    0.0
    0.0
    0.0
    0.0
    0.0
    0.0001668803167475826
    0.0001668803167475826
    0.0
    0.0001669124802498058
    0.0001669124802498058
    0.0001667839005863069
    0.0001667839005863069
    0.0
    0.0001113393634570569
    0.000147263793467059
    0.0001669768444587034
    0.0001671379723590978
    0.0001671379723590978
    0.0004454004005302956
    0.0003857280999166917
    0.0002549525006444579
    5.565358291382974e-05
    0.0002783484086339819
    0.000255119312612255
    5.564285555530245e-05
    0.0
    0.0
    0.0
    0.0001111892670517647
    0.0001111999773809629
    0.0001112106846163289
    0.0
    0.0
    0.0
    0.0
    0.0001667999622109877
    0.0003382596348770424
    0.0002224642208566839
    0.0
    0.0
    0.0002782947407625811
    0.0002782947407625811
    5.563213231905631e-05
    9.635303779227227e-05
    5.56267722511186e-05
    0.0
    0.0
    0.0
    0.0
    0.0003896877720910386
    0.0003386162006099317
    0.0001671218455804386
    0.0
    0.000167218652983124
    0.000167218652983124
    0.0001114360681722235
    0.0001114360681722235
    0.0001115437150721788
    0.0005110728867909214
    0.0004763977229498653
    0.0001474059008934901
    0.0001114253149079894
    0.0005576108452647649
    0.000657303978082754
    0.0001473906613673781
    5.569116129762529e-05
    0.0
    0.0
    0.0005013655367355422
    0.0005013655367355422
    5.575569958340219e-05
    5.575569958340219e-05
    0.0
    0.0
    0.0003348575751678325
    0.0003348575751678325
    0.0
    0.0
    5.590687219846433e-05
    5.590687219846433e-05
    0.0002795343609923211
    0.0002795343609923211
    0.0
    0.0
    0.0001120198426813667
    0.0001120198426813667
    0.0
    0.0001679157350979926
    0.0001679157350979926
    0.0001679320154691437
    0.0001679564508274895
    0.0003404928443228818
    0.0006310248666583199
    0.0003360921330287542
    0.0
    0.0001682909840209227
    0.0001682664690838075
    0.0001682419434271775
    5.598819522858808e-05
    0.0003671068602682923
    0.0003358965979968023
    0.0005036495514900244
    0.0005036495514900244
    0.0001121504019403744
    0.0001121504019403744
    0.0003926408126240582
    0.0003411790460391467
    0.0002242136967708766
    0.0
    0.0001122921850040853
    0.000404960051843886
    0.000449256118423106
    0.0
    5.613517444472171e-05
    5.613517444472171e-05
    0.0002805394893998667
    0.0002805394893998667
    0.0
    0.0
    0.0
    0.0005609699467441063
    0.0004986377786251049
    0.0001681276264399764
    0.0
    0.0
    0.000223649145531544
    0.000223649145531544
    0.0004475583482092358
    0.0004223566844279974
    5.598548097907085e-05
    5.598276633472506e-05
    0.0
    0.0001119872503522312
    0.0001119872503522312
    0.0
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment