Open In App

Pandas Dataframe.to_numpy() - Convert dataframe to Numpy array

Last Updated : 12 Jun, 2025
Comments
Improve
Suggest changes
19 Likes
Like
Report

to_numpy() method allows you to convert a Pandas DataFrame into a NumPy array, enabling efficient numerical operations, faster computations, and smooth interoperability with libraries that require NumPy arrays. Example:


Output
<class 'numpy.ndarray'> [[ 1  2  3]
 [ 4  5  6]
 [ 7  8  9]
 [10 11 12]]

Syntax

DataFrame.to_numpy(dtype=None, copy=False)

Parameters:

  • dtype: (optional) Data type to force for the resulting NumPy array (e.g., float32, str).
  • copy: (bool, default=False) Whether to return a copy of the data or a view. Setting it to True guarantees a copy.

Returns: A NumPy array representation of the DataFrame's values, excluding index and column labels.

Examples

Example 1: Here, we convert only selected columns ('a' and 'c') from the DataFrame into a NumPy array. This is useful when you want to work with only a subset of columns.


Output
<class 'numpy.ndarray'> [[ 1  3]
 [ 4  6]
 [ 7  9]
 [10 12]]

Explanation: df[['a', 'c']] extracts only columns 'a' and 'c'. The .to_numpy() method then converts this selection into a 2D NumPy array containing just the values from those columns, without row indices or column headers.

Example 2: This example shows how .to_numpy() handles DataFrames with mixed numeric types. The resulting NumPy array will upcast data to a common type to accommodate all values (e.g., float).


Output
float64 [[ 1.   2.   3. ]
 [ 4.   5.   6.5]
 [ 7.   8.5  9. ]
 [10.  11.  12. ]]

Explanation: The DataFrame has both integers and floats like 6.5 and 8.5 . When converted to a NumPy array, Pandas upcasts all values to a common type (float64).

Example 3: In this example, we convert the entire DataFrame to a NumPy array and explicitly set the data type to float32. This can help save memory or match data types required by other libraries.


Output
float32 [[ 1.  2.  3.]
 [ 4.  5.  6.]
 [ 7.  8.  9.]
 [10. 11. 12.]]

Explanation: dtype parameter forces conversion of the NumPy array to float32, converting all values including integers to 32-bit floats.

Example 4: This example shows how to convert a DataFrame containing mixed data types (integers, strings, and floats) into a NumPy array of strings


Output
<U6 [['1' 'apple' '3.5']
 ['4' 'banana' '6.0']
 ['7' 'cherry' '9.1']
 ['10' 'date' '12.0']]

Explanation: dtype='str' converts all values to Unicode strings e.g., <U6 means length 6 , turning numbers like 6 and 12 into '6.0' and '12.0' for consistent string typing.


Next Article
Practice Tags :

Similar Reads