1
存儲字符串創建如下:在numpy的矩陣
a=np.eye(2, dtype='S17')
但是,當我打印,我得到:
print(a)
[[b'1' b'']
[b'' b'1']]
它爲什麼會發生,我能做些什麼,以剛剛得到的字符串,但不b'或者我應該改變介紹數據的方式還是dtype
?
所需的輸出將是:
[['1' '']
['' '1']]
所以,我可以通過其他
存儲字符串創建如下:在numpy的矩陣
a=np.eye(2, dtype='S17')
但是,當我打印,我得到:
print(a)
[[b'1' b'']
[b'' b'1']]
它爲什麼會發生,我能做些什麼,以剛剛得到的字符串,但不b'或者我應該改變介紹數據的方式還是dtype
?
所需的輸出將是:
[['1' '']
['' '1']]
所以,我可以通過其他
您可以使用numpy.char.decode
到字節文字解碼替換此字符串:
In [1]: import numpy as np
In [2]: a = np.eye(2, dtype='S17')
In [3]: a
Out[3]:
array([[b'1', b''],
[b'', b'1']],
dtype='|S17')
In [4]: np.char.decode(a, 'ascii')
Out[4]:
array([['1', ''],
['', '1']],
dtype='<U1')
而不是'dtype ='S17''把它改成' '
爲什麼不改變你dtype爲int – agconti
因爲我想在那裏存儲字符串,所以當我創建矩陣時,我首先說出我將要放入的數據類型,然後添加它。 – Llopis
http://stackoverflow.com/questions/6269765/what-does-the-b-character-do-in-front-of-a-string-literal –