【问题标题】:Could not convert String to float in numpy ndarray无法在 numpy ndarray 中将字符串转换为浮点数
【发布时间】:2019-04-20 09:50:05
【问题描述】:

我一直在阅读 fer 2013 csv 文件,其中包含三列情感、像素值和使用情况。据说像素值是以字符串格式给出的,我想将我的像素值从 0-255 重新缩放到 0-1 之间,所以我需要将它转换为 int/float ,然后只有我能够做任何数学运算对它们进行操作。

我首先尝试使用 pandas read_csv 函数读取 csv 文件,然后使用 iloc 读取名为 x_tr 的变量中的像素值。然后在打印它的值时,它显示它的 d 类型为 object.confused on that too.x_tr 是 numpy ndarray 那么我应该如何将它转换为整数值。 我尝试了 x_tr.astype(np.float) 但它放弃了代码中提到的错误。

x_tr = train.iloc[:,1].values
x_tr

我试图转换为浮点数

x_tr = train.iloc[:,1].values
x_tr = x_tr.astype(np.float) 

以及我得到的错误

请帮忙。

【问题讨论】:

  • 它们来自一组 28k 图像,每张图像的大小为 48*48,我如何将它们作为代码发布??
  • 发布样本;否则,我们如何重现您的问题并提供具体建议?

标签: python-3.x numpy numpy-ndarray


【解决方案1】:

不要将pixel 转换为数组,而是将其视为简单字符串。然后使用numpy.fromstring() 方法。这是一个供参考的示例。

>>> s = '1 2 3 4'
>>> f = np.fromstring(s, dtype=float, sep=' ')
>>> f
array([1., 2., 3., 4.])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-03
    • 2020-05-05
    • 1970-01-01
    • 2018-06-05
    • 2020-11-06
    • 2021-06-15
    • 1970-01-01
    相关资源
    最近更新 更多