gpt4 book ai didi

python - 将 numpy 数组类型从字符串更改为 float

转载 作者:行者123 更新时间:2023-11-28 21:54:29 30 4
gpt4 key购买 nike

我有一个 40 维的 numpy 向量,其值类似于 -0.399917 ,0.441786 ...

vector默认的数据类型是|S8(String)

当我尝试使用 astype 方法更改数据类型时,出现以下错误 --

ValueError: could not convert string to float:

我的部分颂歌

 value=np.array(value) 
value.astype(float)

最佳答案

我没有你的确切数据集,但以下代码对我有用:

a = np.array(['-0.399917', '0.441786'])  # (Line 1)
dim = (2, 2, 2, 2)
a = np.tile(a, dim)
b = a.astype(float)

我知道尺寸与您的尺寸不一样,但这应该没什么区别。可能发生的情况是向量中的某些值不是您指定的形式。例如,以下两者在(第 1 行)中使用时都会引发您的 ValueError:

a = np.array(['-0.399917', '0.441786', ''])
a = np.array(['-0.399917', '0.441786', 'spam'])

很可能您的数组某处有空值、字符串值或类似的东西。

如果值为空,您可以执行建议的操作 here :

a[a==''] = '0'

或您希望它成为的任何值。您可以对其他字符串值执行类似的操作,只要它们具有模式即可。如果他们没有模式,你仍然可以这样做,但通过寻找所有可能性可能不可行。

编辑:如果您不关心字符串是什么,您只想将它​​们变成 nan,您可以使用 np.genfromtxt 解释为 here .这可能危险也可能不危险,具体取决于您的应用程序。通常,给出的代码用于指示数组元素的某些内容,您可能不希望对它们一视同仁。

关于python - 将 numpy 数组类型从字符串更改为 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24144753/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com