VOOZH about

URL: https://www.geeksforgeeks.org/python/pandas-dataframe-to_numpy-convert-dataframe-to-numpy-array/

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


  • Courses
  • Tutorials
  • Interview Prep

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

Last Updated : 12 Jul, 2025

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.

Comment