Python 将numpyndarray float元素的类型更改为string

Python 将numpyndarray float元素的类型更改为string,python,numpy,casting,Python,Numpy,Casting,我有一个arff文件作为输入。我读取了arff文件并将元素值放入numpy ndarray中。现在,我的arff文件包含一些“?”作为一些元素。基本上,这些是由anamod计算的矩阵的属性值。无论anamod无法计算哪个值,它都会为这些值插入一个“?”字符。我想对我的数据做一个朴素的贝叶斯、随机森林等预测。所以要处理“?”我想使用一个类似于: 输入缺失值='NaN',策略='mean',轴=0 上面缺少的_值当然是字符串类型。我的问题是如何将几个numpy ndarray元素的类型从float更

我有一个arff文件作为输入。我读取了arff文件并将元素值放入numpy ndarray中。现在,我的arff文件包含一些“?”作为一些元素。基本上,这些是由anamod计算的矩阵的属性值。无论anamod无法计算哪个值,它都会为这些值插入一个“?”字符。我想对我的数据做一个朴素的贝叶斯、随机森林等预测。所以要处理“?”我想使用一个类似于: 输入缺失值='NaN',策略='mean',轴=0
上面缺少的_值当然是字符串类型。我的问题是如何将几个numpy ndarray元素的类型从float更改为string。我使用了我的_numpyndarray.astype'str'='NaN'来检查NaN值,我可以成功地完成这项工作,但我不确定如何将numpyndarray float元素的类型更改为string。

您不能更改普通ndarray部分的类型。数据数组要求数组中的所有元素都具有与数据类型相同的numpy类型,以便有效地进行数学运算。唯一的方法是将dtype更改为object,这允许您在每个元素中存储任意类型。但是,这将大大降低大多数操作的速度,并使某些操作不可能或不可靠,例如添加两个阵列。

谢谢大家:在你的评论帮助下我度过了这一关。别忘了你可以,如果你想感谢的话也可以。我刚开始在stackoverflow中提出问题,所以对元数据不太了解。谢谢