In [263]: probe = [1, 2, 3, 4, 5, 6]
k
имеет dtype
, который вмещает строки:
In [264]: k = np.array([["words words ", 1,1,3,4,6,7], ["blah blah", 2,8,7,5,3,2
...: ], [" please help me", 3,4, 5, 6, 7,1], [" What are you doing, man", 1
...: ,3,5,10,9,11]])
In [265]: k
Out[265]:
array([['words words ', '1', '1', '3', '4', '6', '7'],
['blah blah', '2', '8', '7', '5', '3', '2'],
[' please help me', '3', '4', '5', '6', '7', '1'],
[' What are you doing, man', '1', '3', '5', '10', '9', '11']],
dtype='<U24')
Но, вырезав первый столбец, остальные можно преобразовать в целочисленный массив:
In [266]: k[:, 1:].astype(int)
Out[266]:
array([[ 1, 1, 3, 4, 6, 7],
[ 2, 8, 7, 5, 3, 2],
[ 3, 4, 5, 6, 7, 1],
[ 1, 3, 5, 10, 9, 11]])
Это массив (4,6).np.array(probe)
- это (6,);вещание позволяет нам вычесть, что:
In [270]: k[:, 1:].astype(int) - np.array(probe)
Out[270]:
array([[ 0, -1, 0, 0, 1, 1],
[ 1, 6, 4, 1, -2, -4],
[ 2, 2, 2, 2, 2, -5],
[ 0, 1, 2, 6, 4, 5]])