【问题标题】:change the type of numpyndarray float element to string将 numpy ndarray 浮点元素的类型更改为字符串
【发布时间】:2015-05-17 08:32:28
【问题描述】:

我有一个 arff 文件作为输入。我阅读了 arff 文件并将元素值放在一个 numpy ndarray 中。现在我的 arff 文件包含一些“?”作为一些元素。基本上这些是anamod 计算的矩阵的属性值。无论哪个值anamod 都无法计算它插入一个“?”那些人的性格。我想对我的数据进行 Naive baiyes、Random Forest 等预测。所以要处理'?我想使用一个类似的 imputer: Imputer(missing_values='NaN', strategy='mean', axis=0) 上面的 missing_values 当然是 string 类型。我的问题是如何将一些 numpy ndarray 元素的类型从浮点数更改为字符串。我使用 my_numpy_ndarray.astype('str') == 'NaN' 来检查 NaN 值,我可以成功,但我不知道如何将 numpyndarray 浮点元素的类型更改为字符串。

【问题讨论】:

  • 别忘了你可以accept one of the answers 也可以upvote them 如果你愿意
  • 谢谢。我刚刚开始在stackoverflow中提出问题,所以对元数据不太了解。谢谢。

标签: python numpy casting


【解决方案1】:

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

【讨论】:

  • 谢谢你们。 :) 在你们的 cmets 的帮助下,我度过了难关。
猜你喜欢
  • 1970-01-01
  • 2019-04-19
  • 2014-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多