我正在使用一个从csv文件中获取值的包。如果我打印出结果,我会得到['0.12''0.23']
。我检查了类型,它是
阅读代码可能会有所帮助。但出于什么原因,它似乎创建了一个带有字符串dtype
的numpy
数组:
In [106]: data = np.array(['0.12', '0.23'])
In [107]: data
Out[107]: array(['0.12', '0.23'], dtype='<U4')
In [108]: print(data)
['0.12' '0.23']
这样一个数组的str
格式化省略逗号,repr
显示保留逗号。
列表等效项也用逗号显示:
In [109]: data.tolist()
Out[109]: ['0.12', '0.23']
我们称它为Numpy数组,但从技术上讲,它是类numpy.ndarray
In [110]: type(data)
Out[110]: numpy.ndarray
它可以转换为浮动数组:
In [111]: data.astype(float)
Out[111]: array([0.12, 0.23])
它仍然是一个ndarray
,只是dtype
不同。您可能需要在numpy
文档中阅读更多关于dtype
的内容。
错误是:
如果我想用它计算,它会给我一个错误TypeError:只有size-1数组可以转换为Python标量
有不同的来源。data
有两个元素。您不会显示生成此错误的代码,但我们经常在绘图调用中看到这一点。参数应该是单个数字(通常是整数),其中作为数组,即使是数字dtype
)也是两个数字。
解决方案
import numpy as np
array = array.astype(np.float)
# If you are just initializing array you can do this
ar= np.array(your_list,dtype=np.float)
问题内容: 好吧,我想将PIL图像对象来回转换为numpy数组,因此我可以实现比对象所允许的更快的逐像素转换。我想出了如何通过以下方式将像素信息放置在有用的3D numpy数组中: 但是,在完成所有出色的转换之后,我似乎无法弄清楚如何将其重新加载到PIL对象中。我知道该方法,但似乎无法使其正常工作。 问题答案: 你并不是在说行为不正确。我假设你在做 这是因为需要一个元组序列,并且你要给它一个num
我想将数据帧的索引列转换为数组,但我不确定如何进行。我已经将第二列转换为数组,但由于某些原因,它在第一列上也不起作用。以下是我尝试转换索引列的方式: 但我得到了 这是我的数据框
问题内容: 假设我有一个彩色图像,这自然将由python中的3维数组表示,例如形状(nxmx 3),并将其称为img。 我想要一个新的二维数组,将其称为“ narray”,其形状为(3,nxm),以便该数组的每一行分别包含R,G和B通道的“扁平化”版本。而且,它应该具有这样的属性:我可以通过类似以下方法轻松地重建任何原始通道 问题是如何从“ img”构造“ narray”?简单的img.resha
本文向大家介绍Python numpy数组转置与轴变换,包括了Python numpy数组转置与轴变换的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了Python numpy数组转置与轴变换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 矩阵的转置 矩阵的内积 轴变换 二维轴变换 1.两轴交换 三维轴变换 1.这种变化有点麻烦,不好理
问题内容: 假设我有; 我尝试转换; 我现在正在vstack上通过迭代来解决它,但是对于特别大的LIST来说确实很慢 您对最佳有效方法有何建议? 问题答案: 通常,您可以沿任意轴连接整个数组序列: 但你 也 必须对列表中的形状和每个阵列的维度担心(用于2维3x5的输出,你需要确保它们都是2维正由-5阵列的话)。如果要将一维数组连接为二维输出的行,则需要扩展其维数。 正如Jorge的答案所指出的那样
问题内容: 我正在围绕ArUco增强现实库(基于OpenCV)编写一个薄包装纸。我尝试构建的接口非常简单: Python将图像传递给C ++代码; C ++代码检测标记并将标记的位置和其他信息作为字典元组返回给Python。 但是,我不知道如何在Python中表示图像以将其传递给C ++。对于GUI和摄像机管理,我将使用PyQt,因此起初它将是QImage,但我不能简单地将其传递给OpenCV(或