numpy.array的数据如何存储?

时间:2018-10-25 07:16:29

标签: python numpy

这是我的简单测试代码:

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 \ x00 \ x05 \ x00 \ x00 \ x00 \ x06 \ x00 \ x00 \ x00 \ x07 \ x00 \ x00 \ x00 \ x08 \ x00 \ x00 \ x00 \ t \ x00 \ x00 \ x00 \ n \ x00 \ x00 \ x00 \ x0b \ x00 \ x00 \ x00 '

我的意思是为什么将'9','10'存储为'\ t \ x00 \ x00 \ x00'和'\ n \ x00 \ x00 \ x00'?

1 个答案:

答案 0 :(得分:3)

\tASCII值9的制表符。\n是ASCII值10的LF字符。\x00是ascii值的NUL字符0。

'\ t \ x00 \ x00 \ x00'表示字节序列[9,0,0,0],它是长整数9的小尾数表示。

'\ n \ x00 \ x00 \ x00'表示字节序列[10,0,0,0],它是长整数10的小尾数表示。