Как хранятся данные numpy.array? - PullRequest
0 голосов
/ 25 октября 2018

Это мой простой тестовый код:

data = np.arange(12, dtype='int32').reshape(2,2,3);

, поэтому данные:

array([[[ 0,  1,  2],
    [ 3,  4,  5]],

   [[ 6,  7,  8],
    [ 9, 10, 11]]], dtype=int32)

но почему data.data[:48] выглядит так:

'\ x00 \ x00 \ x00 \ x00 \ x01 \ x00 \ x00 \ x00 \ x02 \ x00 \ x00 \ x00 \ x03 \ x00 \ x00 \ x00 \ x04 \ x00 \ x00 \ x00 \ x05 \ x00 \ x00 \ x00 \ x06\ x00 \ x00 \ x00 \ X07 \ x00 \ x00 \ x00 \ x08 \ x00 \ x00 \ x00 \ т \ x00 \ x00 \ x00 \ п \ x00 \ x00 \ x00 \ x0b \ x00 \ x00 \ x00'

Я имею в виду, почему '9', '10' хранятся как '\ t \ x00 \ x00 \ x00' и '\ n \ x00 \ x00 \ x00'?

1 Ответ

0 голосов
/ 25 октября 2018

\t - символ табуляции, ASCII значение 9. \n - LF-символ, ASCII-значение 10. \x00 - NUL-символ, значение ascii 0. Таким образом,

'\ t \ x00 \ x00 \ x00' представляет последовательность байтов [9, 0, 0, 0], которая является представлением с прямым порядком байтов длинного целого числа 9.

'\ n \ x00 \ x00 \ x00' представляет последовательность байтов [10, 0, 0, 0], которая является представлением с прямым порядком байтов длинного целого числа 10.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...