numpy.c_
numpy.c_ = <numpy.lib.index_tricks.CClass object>
Объект c_ преобразует срез в столбец, а последовательности соединяет вдоль второй оси.
Так же как и r_
объект c_
является очень простым и в тоже время очень мощьным инструментом для создания и объединения массивов.
Примеры
Действие объекта c_
абсолютно аналогично r_
, поэтому, я приведу лишь самые распространенные операции, а все остальное смотрите на странице r_
.
>>> import numpy as np
>>>
>>> np.c_[5] # Скаляр
array([[5]])
>>>
>>> np.c_[1:10:2] # Срез с заданным шагом
array([[1],
[3],
[5],
[7],
[9]])
>>>
>>> np.c_[1:5] # Просто срез
array([[1],
[2],
[3],
[4]])
>>>
>>> np.c_[1:5, [5, 6, 7, 8]] # Срез и последовательность
array([[1, 5],
[2, 6],
[3, 7],
[4, 8]])
>>>
>>> # Комбинирование срезов и последовательностей:
>>> np.c_[1:5, [5, 6, 7, 8], 100:104]
array([[ 1, 5, 100],
[ 2, 6, 101],
[ 3, 7, 102],
[ 4, 8, 103]])
>>>
>>>
>>> np.c_[1:5:1, 10:41:10, 100:401:100]
array([[ 1, 10, 100],
[ 2, 20, 200],
[ 3, 30, 300],
[ 4, 40, 400]])
>>>
>>>
>>> a = np.arange(1, 5, 1)
>>> b = np.arange(10, 41, 10)
>>> d = np.arange(100, 401, 100)
>>>
>>> np.c_[a, b, d]
array([[ 1, 10, 100],
[ 2, 20, 200],
[ 3, 30, 300],
[ 4, 40, 400]])
>>>
>>>
>>> np.c_[d, a, b, a, a, d]
array([[100, 1, 10, 1, 1, 100],
[200, 2, 20, 2, 2, 200],
[300, 3, 30, 3, 3, 300],
[400, 4, 40, 4, 4, 400]])
>>>
>>>
>>> a = [1, 2]
>>> b = [3, 4]
>>> d = [5, 6]
>>>
>>> np.c_[[d, a, b]]
array([[5, 6],
[1, 2],
[3, 4]])
>>>
>>> np.c_[[d, a, b], [0, 0, 0]]
array([[5, 6, 0],
[1, 2, 0],
[3, 4, 0]])
>>>
>>> np.c_[[d], 0, [a], 0, [b]]
array([[5, 6, 0, 1, 2, 0, 3, 4]])
>>>
>>> np.c_[[a, d], [a, b], [[0], [0]]]
array([[1, 2, 1, 2, 0],
[5, 6, 3, 4, 0]])