numpy column_stack - why does this work?

PythonDude mjoerg.phone at gmail.com
Fri Nov 13 10:37:55 EST 2015


Hi all,

Just a quick question about this code-piece (it works, I've tested it):

means, stds = np.column_stack([
    getMuSigma_from_PF(return_vec) 
    for _ in xrange(n_portfolios) ])


1) I understand column_stack does this (assembles vectors vertically, side-by-side):

>>> a = np.array((1,2,3)) # NB: a is row-vector: {1 2 3}
>>> b = np.array((2,3,4)) # NB: b is also a row-vector...
>>> np.column_stack((a,b))
array([[1, 2],
       [2, 3],
       [3, 4]])

2) I understand the underscore is just a "dummy variable" in the last line "for _ in xrange(n_portfolios)" - this also looked a bit confusing to me, at first...

3) I DON'T understand why the code doesn't look like this:

means, stds = np.column_stack([
    for _ in xrange(n_portfolios):
      getMuSigma_from_PF(return_vec) ])

???

Any comments/advice/hints, I would appreciate from you, thank you!



More information about the Python-list mailing list