Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #98751
| 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> |
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 | Next — Previous in thread | Next in thread | Find similar | Unroll 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