Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 仅取字符串的第一个字符的Numpy_Python_Numpy - Fatal编程技术网

Python 仅取字符串的第一个字符的Numpy

Python 仅取字符串的第一个字符的Numpy,python,numpy,Python,Numpy,下面是我的问题的简化版本。我想创建一个(N,1)shapenumpy数组,它的值是字符串。但是,当我尝试插入字符串时,只会插入字符串的第一个字符 我做错了什么 >>> import numpy as np >>> N = 23000 >>> Y = np.empty((N, 1), dtype=str) >>> Y.shape (23000, 1) >>> for i in range(N): ...

下面是我的问题的简化版本。我想创建一个
(N,1)
shapenumpy数组,它的值是字符串。但是,当我尝试插入字符串时,只会插入字符串的第一个字符

我做错了什么

>>> import numpy as np
>>> N = 23000
>>> Y = np.empty((N, 1), dtype=str)
>>> Y.shape
(23000, 1)
>>> for i in range(N):
...     Y[i] = "random string"
...
>>> Y[10]
array(['r'], dtype='<U1')
>>将numpy作为np导入
>>>N=23000
>>>Y=np.empty((N,1),dtype=str)
>>>Y形
(23000, 1)
>>>对于范围(N)中的i:
...     Y[i]=“随机字符串”
...
>>>Y[10]

数组(['r'],dtype='默认情况下,数据类型
str
的长度为
1
。因此,您将只获得一个字符。我们可以使用
np.dtype('U100')
Un
设置最大数据长度,其中
U
是unicode,而
n
是其中的字符数

试试下面的代码

>>> import numpy as np
>>> N = 23000
>>> Y = np.empty((N, 1), dtype=np.dtype('U100'))
>>> Y.shape
(23000, 1)
>>> for i in range(N):
...     Y[i] = "random string"
...
>>> Y[10]
array(['random string'], dtype='<U100')
>>将numpy作为np导入
>>>N=23000
>>>Y=np.empty((N,1),dtype=np.dtype('U100'))
>>>Y形
(23000, 1)
>>>对于范围(N)中的i:
…Y[i]=“随机字符串”
...
>>>Y[10]

数组(['random string'],dtype='即使您在
np.empty
中指定了
dtype=str
,当您选中Y时,它不是字符串类型

import numpy as np
N = 23000
Y = np.empty((N, 1), dtype=str)
Y
输出:

array([[''],
       [''],
       [''],
       ...,
       [''],
       [''],
       ['']], dtype='<U1')
Y[10]
的输出:

array(['random string'], dtype='<U25')

array(['random string',dtype='您应该将dtype从'U1'更改为'Un',其中n是'n-character string'@bollence当初始化Y为空时,我已经将dtype设置为'str',我需要在那里更改吗?
array(['random string'], dtype='<U25')