当前位置: 首页 > 知识库问答 >
问题:

Python如何转换['0.12''0.23']到正常的numpy数组

长孙嘉
2023-03-14

我正在使用一个从csv文件中获取值的包。如果我打印出结果,我会得到['0.12''0.23']。我检查了类型,它是


共有2个答案

万喜
2023-03-14

阅读代码可能会有所帮助。但出于什么原因,它似乎创建了一个带有字符串dtypenumpy数组:

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)也是两个数字。

施永贞
2023-03-14

解决方案

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的答案所指出的那样

  • 问题内容: 我在与要转换为numpy数组的视频相同的文件夹中有一个python脚本。我的视频称为“ test.mp4”。 在我的脚本中,我想调用并返回一个numpy数组。所得的numpy数组应为图像的numpy数组,其中每个图像均为3-d numpy数组。 那有意义吗? 谢谢! 问题答案: 下面的脚本可以满足您的需求。您可以将它的一部分分成函数。 下面的代码不检查错误,特别是生产代码将检查每个变量