@@ -5418,43 +5418,49 @@ def insert(arr, obj, values, axis=None):
5418
5418
-----
5419
5419
Note that for higher dimensional inserts ``obj=0`` behaves very different
5420
5420
from ``obj=[0]`` just like ``arr[:,0,:] = values`` is different from
5421
- ``arr[:,[0],:] = values``.
5421
+ ``arr[:,[0],:] = values``. This is because of the difference between basic
5422
+ and advanced :ref:`indexing <basics.indexing>`.
5422
5423
5423
5424
Examples
5424
5425
--------
5425
- >>> a = np.array([[1, 1], [2, 2], [ 3, 3]] )
5426
+ >>> a = np.arange(6).reshape( 3, 2 )
5426
5427
>>> a
5427
- array([[1, 1],
5428
- [2, 2],
5429
- [3, 3]])
5430
- >>> np.insert(a, 1, 5)
5431
- array([1, 5, 1, ..., 2, 3, 3])
5432
- >>> np.insert(a, 1, 5, axis=1)
5433
- array([[1, 5, 1],
5434
- [2, 5, 2],
5435
- [3, 5, 3]])
5436
-
5437
- Difference between sequence and scalars:
5438
-
5439
- >>> np.insert(a, [1], [[1],[2],[3]], axis=1)
5440
- array([[1, 1, 1],
5441
- [2, 2, 2],
5442
- [3, 3, 3]])
5443
- >>> np.array_equal(np.insert(a, 1, [1, 2, 3], axis=1),
5444
- ... np.insert(a, [1], [[1],[2],[3]], axis=1))
5428
+ array([[0, 1],
5429
+ [2, 3],
5430
+ [4, 5]])
5431
+ >>> np.insert(a, 1, 6)
5432
+ array([0, 6, 1, 2, 3, 4, 5])
5433
+ >>> np.insert(a, 1, 6, axis=1)
5434
+ array([[0, 6, 1],
5435
+ [2, 6, 3],
5436
+ [4, 6, 5]])
5437
+
5438
+ Difference between sequence and scalars,
5439
+ showing how ``obj=[1]`` behaves different from ``obj=1``:
5440
+
5441
+ >>> np.insert(a, [1], [[7],[8],[9]], axis=1)
5442
+ array([[0, 7, 1],
5443
+ [2, 8, 3],
5444
+ [4, 9, 5]])
5445
+ >>> np.insert(a, 1, [[7],[8],[9]], axis=1)
5446
+ array([[0, 7, 8, 9, 1],
5447
+ [2, 7, 8, 9, 3],
5448
+ [4, 7, 8, 9, 5]])
5449
+ >>> np.array_equal(np.insert(a, 1, [7, 8, 9], axis=1),
5450
+ ... np.insert(a, [1], [[7],[8],[9]], axis=1))
5445
5451
True
5446
5452
5447
5453
>>> b = a.flatten()
5448
5454
>>> b
5449
- array([1 , 1, 2, 2, 3, 3 ])
5450
- >>> np.insert(b, [2, 2], [5, 6 ])
5451
- array([1 , 1, 5, ... , 2, 3, 3 ])
5455
+ array([0 , 1, 2, 3, 4, 5 ])
5456
+ &g
80D7
t;>> np.insert(b, [2, 2], [6, 7 ])
5457
+ array([0 , 1, 6, 7 , 2, 3, 4, 5 ])
5452
5458
5453
- >>> np.insert(b, slice(2, 4), [5, 6 ])
5454
- array([1 , 1, 5, ..., 2 , 3, 3 ])
5459
+ >>> np.insert(b, slice(2, 4), [7, 8 ])
5460
+ array([0 , 1, 7, 2, 8 , 3, 4, 5 ])
5455
5461
5456
5462
>>> np.insert(b, [2, 2], [7.13, False]) # type casting
5457
- array([1 , 1, 7, ... , 2, 3, 3 ])
5463
+ array([0 , 1, 7, 0 , 2, 3, 4, 5 ])
5458
5464
5459
5465
>>> x = np.arange(8).reshape(2, 4)
5460
5466
>>> idx = (1, 3)
0 commit comments