×

Python Tutorial

Python Basics

Python I/O

Python Operators

Python Conditions & Controls

Python Functions

Python Strings

Python Modules

Python Lists

Python OOPs

Python Arrays

Python Dictionary

Python Sets

Python Tuples

Python Exception Handling

Python NumPy

Python Pandas

Python File Handling

Python WebSocket

Python GUI Programming

Python Image Processing

Python Miscellaneous

Python Practice

Python Programs

How to convert a NumPy 2D array with object dtype to a regular 2D array of floats?

Learn, how can we convert a given NumPy 2D array with object dtype to a regular 2D array of floats in Python? By Pranit Sharma Last updated : April 04, 2023

Suppose that we are given a numpy ndarray whose each row has a format of 'str' -> ['float']. We need to extract all the float lists and convert them into a single array of data type float. This can be done by using indexing the array and extracting the column containing float lists but the data type would still be Object.

NumPy 2D array (dtype) to a regular 2D array (floats)

To convert a NumPy 2D array with object dtype to a regular 2D array of floats, we use two approaches, first we can convert the extracted column into a list, so that we can define the data type for this list as float to convert it into a numpy array. Secondly, we can directly use vstack() method on the extracted column which will stack all the lists vertically and we can define the data type as a float without any error.

Let us understand with the help of an example,

Python code to convert a NumPy 2D array with object dtype to a regular 2D array of floats

# Import numpy
import numpy as np

# Creating an array
arr = np.array([['one', [1, 2, 3]],['two', [4, 5, 6]]], dtype='O')

# Display array
print("Original array:\n",arr,"\n")

# Extracting column
col = arr[:,1]

# Display column
print("Column:\n",col,"\n")

# Converting col in to array by casting it into a list
res = np.array(list(col),dtype=np.float_)

# Display result
print("Array of column:\n",res,"\n")

# Converting col in to array by using vstack
res = np.vstack(col).astype('float')

# Display result
print("Array of column using vstack:\n",res,"\n")

Output

NumPy 2D array (dtype) to a regular 2D array (floats)

Python NumPy Programs »

Advertisement
Advertisement

Comments and Discussions!

Load comments ↻


Advertisement
Advertisement
Advertisement

Copyright © 2025 www.includehelp.com. All rights reserved.