从字符串数组转换时如何设置numpy float数组的精度?

时间:2012-12-08 02:25:09

标签: python numpy

我使用以下链接将字符串数组转换为float数组 Convert String to float array

我得到的数据是一种奇怪的格式

535.    535.    535.    534.68  534.68  534.68

虽然numpy能够将字符串数组转换为float,但是当数据的格式为 535时,其他一些字符串会失败。

有没有办法一次性将所有 535。转换为 535.00

我正在使用以下代码进行转换

import numpy as np
strarray = ["535.","535.","534.68"]
floatarray = np.array(filter(None,strarray),dtype='|S10').astype(np.float)
print floatarray

1 个答案:

答案 0 :(得分:1)

将字符串转换为float128。 试试这个:

import numpy as np
strarray = ["535.","535.","534.68"]
floatarray = np.array(filter(None,strarray),dtype='|S10').astype(np.float128)
print floatarray

输出:

[ 535.0  535.0  534.68]

或使用推荐的longdouble

import numpy as np
strarray = ["535.","535.","534.68"]
floatarray = np.array(filter(None,strarray),dtype='|S10').astype(np.longdouble)
print floatarray

输出:

[ 535.0  535.0  534.68]