Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #98751

Re: numpy column_stack - why does this work?

From Ian Kelly <ian.g.kelly@gmail.com>
Newsgroups comp.lang.python
Subject Re: numpy column_stack - why does this work?
Date 2015-11-13 10:16 -0700
Message-ID <mailman.293.1447435057.16136.python-list@python.org> (permalink)
References <0b4725a8-a040-4bfb-b046-81c2e529447a@googlegroups.com>

Show all headers | View raw


On Fri, Nov 13, 2015 at 8:37 AM, PythonDude <mjoerg.phone@gmail.com> wrote:
> 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) ])

Because that would be invalid syntax; you can't put a for loop inside
an expression like that. Your question is not about numpy.column_stack
at all, but about list comprehensions. I suggest you start by reading
this:

https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions

Then if you're still confused, come back and ask further questions.

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

numpy column_stack - why does this work? PythonDude <mjoerg.phone@gmail.com> - 2015-11-13 07:37 -0800
  Re: numpy column_stack - why does this work? Ian Kelly <ian.g.kelly@gmail.com> - 2015-11-13 10:16 -0700
    Re: numpy column_stack - why does this work? PythonDude <mjoerg.phone@gmail.com> - 2015-11-16 00:02 -0800

csiph-web