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

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

很多时候,我们有必要将Python中的数组转换为不同的类型。其中一个时候是给定一个数组,必须将其转换为浮点类型的数组。在进行数据分析时,这通常是有用的,有多种方法可以做到这一点。虽然遍历数组并使用Python内置的float()转换函数是完全有效的,但NumPy为我们提供了一些更优雅的方法来完成同样的程序。

方法1:这里,我们可以利用NumPy提供的astype()函数。这个函数用指定的数据类型(本例中为float)创建初始数组的另一个副本,然后我们可以将这个副本分配给一个特定的标识符,即convertingArray。注意,数据类型是以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: <class 'numpy.str_'>
Our final array:  [1.1 2.2 3.3 4.4]
Final type: <class 'numpy.float64'>

方法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: <class 'numpy.str_'>
Our final array:  [1.1 2.2 3.3 4.4]
Final type: <class 'numpy.float64'>

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程