📜  使用 NumPy 将数组元素转换为浮点类型

📅  最后修改于: 2022-05-13 01:55:18.790000             🧑  作者: Mango

使用 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: