Python将字符串数组转换为浮点数数组的方法
在竞争激烈的编码环境中,有时我们会得到一些其他数据类型的输入,我们需要将它们转换为其他形式,这个问题与我们有一个字符串形式的输入,我们需要将其转换为浮点数一样。让我们讨论一下将字符串数组转换为浮点数组的几种方法。
示例:
initial array: ['1.1' '1.5' '2.7' '8.9']
final array: [ 1.1 1.5 2.7 8.9]
使用astype将字符串数组转换为浮点数数组
Pandas astype()是最重要的方法之一。它用于改变一个系列的数据类型。如果一个列可以作为字符串导入,但为了进行操作,我们必须将其转换为浮点数, astype()就是用来进行这种数据类型转换的。
import numpy as np
# initialising array
ini_array = np.array(["1.1", "1.5", "2.7", "8.9"])
# printing initial array
print ("initial array", str(ini_array))
# converting to array of floats
# using np.astype
res = ini_array.astype(np.float)
# printing final result
print ("final array", str(res))
输出:
initial array ['1.1' '1.5' '2.7' '8.9']
final array [ 1.1 1.5 2.7 8.9]
使用np.fromstring将字符串数组转换为浮点数组
numpy.fromstring()函数根据字符串中的文本数据创建一个新的一维数组,并进行初始化。
import numpy as np
# initialising array
ini_array = np.array(["1.1", "1.5", "2.7", "8.9"])
# printing initial array
print ("initial array", str(ini_array))
# converting to array of floats
# using np.fromstring
ini_array = ', '.join(ini_array)
ini_array = np.fromstring(ini_array, dtype = np.float,
sep =', ' )
# printing final result
print ("final array", str(ini_array))
输出:
initial array ['1.1' '1.5' '2.7' '8.9']
final array [ 1.1 1.5 2.7 8.9]
使用np.asarray()和类型将字符串数组转换为浮点数数组
numpy.asarray()函数是在我们想把输入转换为数组时使用的。输入可以是列表、图元的列表、图元、图元的图元、列表的图元和数组。
import numpy as np
# initialising array
ini_array = np.array(["1.1", "1.5", "2.7", "8.9"])
# printing initial array
print ("initial array", str(ini_array))
# converting to array of floats
# using np.asarray
final_array = b = np.asarray(ini_array,
dtype = np.float64, order ='C')
# printing final result
print ("final array", str(final_array))
输出:
initial array ['1.1' '1.5' '2.7' '8.9']
final array [ 1.1 1.5 2.7 8.9]
使用np.asfarray将字符串数组转换为浮点数数组
numpy.asfarray()函数是在我们想把输入转化为浮点型数组时使用的。输入包括标量、列表、图元的列表、图元、图元的图元、列表的图元和ndarrays。
import numpy as np
# initialising array
ini_array = np.array(["1.1", "1.5", "2.7", "8.9"])
# printing initial array
print ("initial array", str(ini_array))
# converting to array of floats
# using np.asarray
final_array = b = np.asfarray(ini_array,dtype = float)
# printing final result
print ("final array", str(final_array))
输出:
initial array ['1.1' '1.5' '2.7' '8.9']
final array [1.1 1.5 2.7 8.9]