Пробелы после добавления в массив numpy - PullRequest
0 голосов
/ 05 мая 2020

Почему, когда я выполняю код ниже, я получаю эти странные пробелы на выходе?

import numpy as np

str = 'a a b c a a d a g a'
string_array = np.array(str.split(" "))
char_indices = np.where(string_array == 'a')
array = char_indices[0]
print(array)
array += 2
print(array)

вывод:

[0 1 4 5 7 9]
[ 2  3  6  7  9 11]

1 Ответ

2 голосов
/ 05 мая 2020

Это просто способ numpy отображения данных, чтобы они казались выровненными и более удобочитаемыми.

Выравнивание между вашими двумя списками изменяется

[0 1 4 5 7 9]
[ 2  3  6  7  9 11]

, потому что есть два -di git элемент во втором списке.

В векторах это сложнее оценить, но это очень полезно, когда у нас больше измерений:

>>> a = np.random.uniform(0,1,(5,5))
>>> a[a>0.5] = 0
>>> print(a)
[[0.         0.         0.00460074 0.22880318 0.46584641]
 [0.0455245  0.         0.         0.         0.        ]
 [0.         0.07891556 0.21795357 0.14944522 0.20732431]
 [0.         0.         0.         0.3381172  0.08182367]
 [0.         0.         0.10734559 0.         0.31228533]]
>>> print(a.tolist())
[[0.0, 0.0, 0.0046007414146133074, 0.22880318354923768, 0.4658464110307319], [0.04552450444387102, 0.0, 0.0, 0.0, 0.0], [0.0, 0.07891556038021574, 0.21795356574892966, 0.1494452184954096, 0.2073243102108967], [0.0, 0.0, 0.0, 0.33811719550156627, 0.08182367499758836], [0.0, 0.0, 0.10734558995972832, 0.0, 0.31228532775003903]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...