On Thu, Sep 29, 2011 at 9:33 AM, Chao YUE <chaoyue...@gmail.com> wrote:

> Dear all, I have a variable d which has several years plus 11 month data
> (len(d)%12=11). so I want to append a NaN to the data so that it constitutes
> complete
> several years of data.
>
> but I cannot use "d=np.concatenate(d,np.array(np.nan))" to finish this job.
>
>
> another question, is there a simple function like is.Nan(ndarray) in numpy
> to check the missing value? and how can I get the index of the missing
> value?
>
> Thanks a lot,
>
> Chao
>
> In [246]: d
> Out[246]:
> array([-24. , -12.9, -14. ,   4.2,   7.3,  12.9,  18.5,  16.9,  10.7,
>          7.6,  -1.9,  -9.8, -12. , -16.6, -13.3,   5. ,  12.2,  14. ,
>         16.5,  15.6,  11.8,   6.4,  -6.6, -14.8, -17.6, -15.4,  -3.7,
>         -2.1,   6.9,  12.8,  17. ,  16.7,   9. ,   4.5, -11.9, -18.1,
>        -18.4, -19.5,  -3.4,   6.4,   8.5,  13.5,  18.3,  16.5,  10.4,
>          1.7,  -9.6, -19.5, -17.8, -20.9, -10.9,   0.8,   7.7,  14.7,
>         20.4,  16.2,   9.1,   6.9,  -8.6, -17.1, -16.6, -20.8, -14.1,
>         -4.7,  10.7,  15.8,  18.5,  17.1,  12.9,   5.2,  -6. , -18.4,
>        -20.5, -22.6,  -8.3,   7. ,  10.9,  14. ,  17.1,  18.6,  10.1,
>          2.1,  -1.1, -20.8, -32.9, -17.7, -12.2,  -0.4,   9.5,  14.6,
>         17.3,  15.1,  11.1,   2.6,  -9.9, -16.9, -22.9, -18.1, -15.4,
>          0.5,  11. ,  12.4,  16.9,  14.7,   9.7,  -0.3, -10.7, -20.7,
>        -23.1, -13.5, -10.7,   7.6,  11. ,  14.4,  16.8,  15.6,  11.2,
>          4.2,  -3.5, -12.2, -19.9, -13.2, -10.1,  -0.1,   8.5,  13.6,
>         17.2,  17.6,  10.1,   6.3,  -2.3, -12.4, -27.2,  -9.1, -13. ,
>         -6.2,   7.4,  12.9,  17.3,  14.8,   9.5,   4.3,  -1.1,  -8.6,
>        -17.5, -18.5, -15.9,   3.5,   9.6,  15.7,  18.4,  17.1,   9.4,
>          4.5, -15.1, -21.9, -21.2, -18.5, -12.2,  -2.1,  10.4,  16.7,
>         17. ,  16.1,   8.6,   3.9,  -4.8, -16. , -20.9, -16.8,  -9.3,
>          0.9,  10.3,  13.8,  19. ,  15.3,  11.1,   3.1,  -5.5, -14.9,
>        -12.8, -17.5,  -6.9,   3.7,  11.1,  12.5,  16.5,  16.5,  10.2,
>          4.2,  -8.8, -16.3, -24.4, -17.2,  -4.7,   3.5,   8. ,  14. ,
>         18.3,  14.6,   8.9,  -0.4,  -9.1,  -8.4, -20.8, -15.5, -12. ,
>          2.3,   9.8,  13.6,  18.4,  16.8,  11.9,   3.9,  -8. , -13.6,
>        -17.4, -13.1,  -6.9,   0.2,  10.6,  17.6,  17.2,  18.8,   6.3,
>          3.4,  -7.6, -22.7, -19.5, -20.9, -11.7,   1.7,   9.8,  16.6,
>         16.4,  16.2,  10.6,   6.1,  -3.6, -14.4, -22.2, -17.8,  -7.5,
>          3.2,   8.9,  14.8,  18.6,  17.7,  12.9,   8.4,  -6.9, -16.8,
>        -16.4, -10.1, -15.6,   3.5,  11.2,  14.7,  19.5,  14.6,   8.3,
>          4.4,  -8.2, -22.3, -23. , -21.8, -14.1,   2.5,   9.1,  15. ,
>         17.9,  16.4,   5.3,   5.2, -11.6, -14.1, -29. , -20.5,  -8.1,
>         -0.7,  10.1,  13.9,  17.3,  15.5,  12.4,   3.4, -13.3, -15.1,
>        -21. , -19.5, -12.5,  -2.4,   8.9,  13.5,  17.6,  17.3,  14.4,
>          2.7,  -5.1, -15.5, -20.7, -14.5,  -3.2,   2.7,   9.6,  14.3,
>         16. ,  13.7,  10.9,   3.2,  -4.1, -18.6, -29.2, -16.7, -11. ,
>          5.1,   9.2,  12.5,  16.2,  17.5,  10.2,  -0.8,  -5.3, -11.4,
>        -20.9, -15. , -12.8,   2.1,   8.8,  16.9,  18.2,  16.1,   9.9,
>          3.4,  -9. , -23.5, -25.2, -15.4, -10.3,   2.5,  11.7,  14.5,
>         15.4,  17.8,   9.9,   3.5,  -7.4, -20.7, -25.1, -22.6,  -9.7,
>          1.2,  11.6,  16.3,  14.8,  17.4,   5.9,   0.9,  -6.8, -21.4,
>        -16.6, -15.8,  -4.1,   1.7,  10.9,  14.5,  16.8,  16.8,   9.8,
>          4.2, -12.8, -18.5, -25.2, -16.8, -14.6,   2.4,   6.2,  14.9,
>         17.9,  13.6,   7.6,   5.3,  -4.2,  -8.5, -17.5, -17.7, -13.4,
>          0.1,   8.8,  14.3,  19.3,  14. ,  10. ,   3.5,  -6.1, -16.8,
>        -16.5, -12.5, -10. ,   5.8,  11.6,  14.4,  17.7,  16.7,  11.6,
>          1.4,  -7.3, -16. , -22.2,  -7.8,  -5.1,   6. ,  13.6,  15.5,
>         16.3,  12.3,   9.8,   5.2,  -7.9, -21.1, -24.2, -17.4,  -7.6,
>          2.5,  11.7,  15.4,  16.7,  14.4,  10.6,   5.9, -10.4, -18. ,
>        -21.5, -25.6, -10.2,  -2.9,   7.8,  15. ,  19.2,  15.3,  11.3,
>          4.4,  -6. , -14.4, -21. , -15.4, -11.5,   7.4,  13.3,  15.2,
>         17.6,  15.1,   9.3,   5. ,  -4.4, -19.4, -12.6, -11.4,  -2.6,
>          3.2,  10.9,  14.4,  17.9,  19.1,  11.8,   1.9,  -0.9, -14.2,
>        -29.7, -17.6,  -9.6,   0.5,   9.2,  14.3,  17.7,  14.6,  10.1,
>          4.2, -10.7, -14.4, -14.5, -13.1,  -8.5,   0.5,   8. ,  15.1,
>         18.8,  19.4,   9.3,   4.4,  -3.2, -23.6, -14.2,  -6.7,  -8. ,
>          6.8,   9. ,  15.8,  18.6,  18.8,   7.6,   2.2, -11.3, -21.2,
>        -17.2, -19.5,  -4.9,   4.3,  11.8,  12.3,  17.1,  14.3,   7.7,
>          3. , -16.7, -14.2, -11.7, -16.4,  -3.8,   2.1,  12.1,  15.3,
>         16.9,  16.2,   8.5,   4.7, -10.7, -10.7, -11.6, -10.2,  -6.2,
>          6.4,  12.7,  17.9,  17.3,  13.7,  12.6,   3.6,  -2.7, -10.8,
>        -20.3, -15.3,  -6.8,   4. ,  13.9,  19.3,  18.5,  15.8,  10.9,
>          3. ,  -5.3, -12.3, -15.7, -16.7, -12.3,   3.5,  10.7,  16. ,
>         19.8,  17.1,  10.8,   4.1,  -9.1, -18.6, -15.9, -17.7,  -4.2,
>          2.6,  10.3,  16.4,  17.3,  16.9,  12.2,   1.7,  -9.7, -21.7,
>        -19.3, -10.7,  -9.5,   4.7,  11.3,  16.5,  18.5,  19.8,  10.6,
>         -0.3, -10.2, -14.2, -13.2, -11.1,  -1.8,   3.4,   9.3,  14. ,
>         16.1,  14.2,   8.4,   3.2,  -3.1, -20.8, -18.3, -14.1,  -1.5,
>          3.9,  11. ,  12.8,  15.6,  15.8,   8.7,   2.9,  -7.4, -11.3,
>        -23.2, -21.6,  -2. ,   3.8,  10.3,  15. ,  17.1,  15.6,  12.9,
>          4.6,  -8. , -15.6, -16.1, -14.1,  -8.4,  -1.1,   9.3,  16.9,
>         16.9,  15.7,  11.4,   4.3, -11.3, -17.1, -25. , -14. , -11.6,
>          1.4,   7.9,  16.2,  17.6,  17.9,  10. ,   2.6, -12.5, -20.1,
>        -22.3, -11.9, -10.2,   0.4,   9.2,  16.6,  18.4,  17.8,  12.6,
>          3. ,  -4.7,  -6. , -19.3,  -6.1,  -7.8,   6.6,  12.3,  14.4,
>         18.5,  18.9,  12.1,   4.1,  -5.6, -14.7, -18.2, -11.7,  -4.8,
>          5.6,   9.9,  13.8,  16.5,  17. ,  10.1,   3.2,  -3.3,  -9. ,
>        -19.7, -11.9,  -3.4,   3.1,   8.9,  13.4,  17.6,  15.9,  10.8,
>          4.4,  -6.9, -21. ,  -9.8, -18. ,  -4.1,   3.6,  11.6,  14.8,
>         18.7,  18.7,  12.8,   1.7,  -2.2, -13.9, -16.8,  -9.9, -14.6,
>         -1.7,   7.6,  17.4,  20.3,  16.2,  10.2,  -1.9,  -6.3, -10.5,
>        -18.5, -18.6, -10.1,   3.8,  11.7,  15.7,  18.5,  19.6,  10.1,
>          5.6,  -9.5, -11.4, -21.5, -11.2,   NaN,   3.5,   NaN,  13. ,
>         16.8,  13.9,  10.1,   2.7,  -2.9, -15.8, -18.8, -12.6,  -6.3,
>          5.7,   9.5,  14.2,  17.5,  14.9,  10.8,   4. ,  -3.4,  -9.3,
>         -8.7, -13. ,  -8.1,   6.8,  11. ,  16.6,  19.5,  17.3,  11.5,
>          1.5, -10.4, -11.9, -14.2, -18.3,  -6.1,   2.9,  10.6,  14.3,
>         20.6,  14.9,  10. ,   4.8,  -7.5])
>
>
Here is a quick-and-dirty way to do what you want:

d_full = np.empty(len(d) + 1)
d_full[:len(d)] = d
d_full[-1] = np.nan


As for testing for NaNs, use "np.isnan()".  That returns a boolean array the
same shape as the input array (which can be used for boolean indexing).
However, if you really need the indices, then you can use
"np.nonzero(np.isnan(d_full))[0]".  Note the use of "[0]" because np.nonzero
returns a tuple of information, but you usually only need the first one.

I hope that helps!
Ben Root
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to