Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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_Pandas_Numpy - Fatal编程技术网

在python中将字符串转换为numpy数组,反之亦然

在python中将字符串转换为numpy数组,反之亦然,python,pandas,numpy,Python,Pandas,Numpy,我有一个numpy数组,它是opencv读取的图像,并将其保存为字符串。因此,我将np数组转换为字符串并存储相同的内容。现在我想检索值(一个字符串)并转换为原始的numpy数组维度。你们能帮我怎么做吗 我的代码如下: img = cv2.imread('9d98.jpeg',0) img.shape # --> (149,115) img_str=np.array2string(img,precision=2,separator=',') # to string length 197

我有一个
numpy
数组,它是open
cv
读取的图像,并将其保存为字符串。因此,我将
np
数组转换为字符串并存储相同的内容。现在我想检索值(一个字符串)并转换为原始的
numpy
数组维度。你们能帮我怎么做吗

我的代码如下:

img = cv2.imread('9d98.jpeg',0)
img.shape    # --> (149,115)
img_str=np.array2string(img,precision=2,separator=',') # to string length 197? which I dont know how
img_numpy=np.fromstring(img_str,dtype=np.uint8) # shape (197,) since this is returning only 1D array

请帮助我解决相同的问题。挑战不仅在于保存数据缓冲区,还在于保存形状和数据类型
np.fromstring
读取数据缓冲区,但作为1d数组;您必须从其他位置获取数据类型和形状

In [184]: a=np.arange(12).reshape(3,4)

In [185]: np.fromstring(a.tostring(),int)
Out[185]: array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11])

In [186]: np.fromstring(a.tostring(),a.dtype).reshape(a.shape)
Out[186]: 
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])

去json是一种选择吗

答案如下:


你能举一个例子吗?看看
img\u str
。请参阅所有省略号(…)。这由
threshold
参数控制。这与我们从一个简单的
打印(img)
中得到的压缩是一样的。它还包括普通打印的所有嵌套[]。这不是一种很好的保存格式。您打算在哪里“保存”此字符串?档案?由于它是一个2d数组,您可以使用由
savetxt
生成并由
loadtxt
加载的
csv
格式。还有一个
np.fromstring(img.tostring(),int)
往返,尽管这样会丢失形状信息。以及非字符串
np.save/np.load
option.Hi@hpaulj。。抱歉耽搁了。需要将图像numpy数组转换为字符串以将其推送到云中。要从云端访问,我需要从云端获取它,并再次将其转换为numpy数组
import numpy as np
import json

img = np.ones((10, 20))
img_str = json.dumps(img.tolist())
img_numpy = numpy.array(json.loads(img_str))