User Tools

Site Tools


other:python:misc_by_jyp

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
other:python:misc_by_jyp [2022/03/08 17:40] – [Playing with strings] jypeterother:python:misc_by_jyp [2022/05/23 17:36] – [numpy related stuff] Added the "variable number of indices" section jypeter
Line 247: Line 247:
  
 ==== numpy related stuff ==== ==== numpy related stuff ====
 +
 +=== Dealing with a variable number of indices ===
 +
 +[[https://numpy.org/doc/stable/user/basics.indexing.html#dealing-with-variable-indices|Official reference]]
 +
 +<code>>>> i10 = np.identity(10)
 +>>> i10
 +array([[1., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
 +       [0., 1., 0., 0., 0., 0., 0., 0., 0., 0.],
 +...
 +       [0., 0., 0., 0., 0., 0., 0., 0., 0., 1.]])
 +>>> i10.shape
 +(10, 10)
 +
 +>>> i10[3:7, 4:6]
 +array([[0., 0.],
 +       [1., 0.],
 +       [0., 1.],
 +       [0., 0.]])
 +       
 +>>> s0 = slice(3, 7)
 +>>> s1 = slice(4, 6)
 +>>> i10[s0, s1]
 +array([[0., 0.],
 +       [1., 0.],
 +       [0., 1.],
 +       [0., 0.]])
 +       
 +>>> my_slices = (s0, s1)
 +>>> i10[my_slices]
 +array([[0., 0.],
 +       [1., 0.],
 +       [0., 1.],
 +       [0., 0.]])
 +       
 +>>> my_fancy_slices = (s0, Ellipsis)
 +>>> i10[my_fancy_slices]
 +array([[0., 0., 0., 1., 0., 0., 0., 0., 0., 0.],
 +       [0., 0., 0., 0., 1., 0., 0., 0., 0., 0.],
 +       [0., 0., 0., 0., 0., 1., 0., 0., 0., 0.],
 +       [0., 0., 0., 0., 0., 0., 1., 0., 0., 0.]])
 +>>> i10[my_fancy_slices].shape
 +(4, 10)
 +
 +>>> # WARNING! WARNING! A slice is a VIEW and NOT A COPY
 +>>> i10[my_fancy_slices] = -1
 +>>> i10
 +array([[ 1.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
 +       [ 0.,  1.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
 +       [ 0.,  0.,  1.,  0.,  0.,  0.,  0.,  0.,  0.,  0.],
 +       [-1., -1., -1., -1., -1., -1., -1., -1., -1., -1.],
 +       [-1., -1., -1., -1., -1., -1., -1., -1., -1., -1.],
 +       [-1., -1., -1., -1., -1., -1., -1., -1., -1., -1.],
 +       [-1., -1., -1., -1., -1., -1., -1., -1., -1., -1.],
 +       [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  1.,  0.,  0.],
 +       [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  1.,  0.],
 +       [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  1.]])
 +</code>
  
 === Finding and counting unique values === === Finding and counting unique values ===
other/python/misc_by_jyp.txt · Last modified: 2024/11/04 15:01 by jypeter

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki