使用 NumPy 将数组元素转换为浮点类型
很多时候,我们需要将Python中的数组转换为不同的类型。其中一次是给定一个数组并且必须将其转换为浮点类型数组。这在进行数据分析时通常很有用,并且有多种方法可以做到这一点。虽然遍历数组并使用 Python 的内置float()
转换函数是完全有效的,但 NumPy 为我们提供了一些更优雅的方式来执行相同的过程。
方法一:在这里,我们可以利用 NumPy 提供的astype()
函数。此函数创建具有指定数据类型的初始数组的另一个副本,在本例中为浮点数,然后我们可以将此副本分配给特定标识符,即convertedArray。注意,数据类型是用 NumPy 来指定的,主要是因为 NumPy astype()
函数的约束,它只会将 NumPy 类型作为参数。
# Process utilizing astype() function
# Import NumPy Library
import numpy as np
# Initialize our Array with Strings
# The String Type is denoted by the quotes ""
initialArray = ["1.1", "2.2", "3.3", "4.4"]
# Convert initial Array to NumPy Array
# Use the array() function
sampleArray = np.array(initialArray)
# Print our Initial Array
print("Our initial array: ", str(initialArray))
print("Original type: " + str(type(initialArray[0])))
# Actual Conversion of Array
# Note usage of astype() function
# np.float can be changed to represent differing types
convertedArray = sampleArray.astype(np.float)
# Print our final result
# Note that usage of str() is due to Python conventions
print("Our final array: ", str(convertedArray))
print("Final type: " + str(type(convertedArray[0])))
输出 :
Our initial array: ['1.1', '2.2', '3.3', '4.4']
Original type:
Our final array: [1.1 2.2 3.3 4.4]
Final type:
方法 2:在这里,我们将使用 NumPy 提供的asarray()
函数。
# Process utilizing asarray() function
# Import NumPy Library
import numpy as np
# Initialize our array
# Note, once again, that this is of type String
# Non-NumPy arrays can be used
initialArray = np.array(["1.1", "2.2", "3.3", "4.4"])
# Print our initial array
print("Our Initial Array: ", str(initialArray))
print("Original type: " + str(type(initialArray[0])))
# Actual conversion of array
# Note that we utilize np.float64 as the finalize data type
finalArray = np.asarray(initialArray, dtype = np.float64,
order ='C')
# Print our converted array
print("Our Final Array: ", str(finalArray))
print("Final type: " + str(type(finalArray[0])))
输出 :
Our initial array: ['1.1', '2.2', '3.3', '4.4']
Original type:
Our final array: [1.1 2.2 3.3 4.4]
Final type:
在评论中写代码?请使用 ide.geeksforgeeks.org,生成链接并在此处分享链接。