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:
Python
import pandas as pd
df = pd.DataFrame(
[[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[10, 11, 12]],
columns=['a', 'b', 'c'])
a = df.to_numpy()
print(type(a),a)
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.
Python
import pandas as pd
df = pd.DataFrame(
[[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[10, 11, 12]],
columns=['a', 'b', 'c'])
a = df[['a', 'c']].to_numpy()
print(type(a),a)
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).
Python
import numpy as np
import pandas as pd
df = pd.DataFrame(
[[1, 2, 3],
[4, 5, 6.5],
[7, 8.5, 9],
[10, 11, 12]],
columns=['a', 'b', 'c']
)
a = df.to_numpy()
print(a.dtype, a)
Outputfloat64 [[ 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.
Python
import pandas as pd
df = pd.DataFrame(
[[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[10, 11, 12]],
columns=['a', 'b', 'c'])
a = df.to_numpy(dtype='float32')
print(a.dtype,a)
Outputfloat32 [[ 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
Python
import pandas as pd
df = pd.DataFrame(
[[1, 'apple', 3.5],
[4, 'banana', 6],
[7, 'cherry', 9.1],
[10, 'date', 12]],
columns=['id', 'fruit', 'value']
)
a = df.to_numpy(dtype='str')
print(a.dtype,a)
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.
Similar Reads
Convert a NumPy array to Pandas dataframe with headers To convert a numpy array to pandas dataframe, we use pandas.DataFrame() function of Python Pandas library. Syntax: pandas.DataFrame(data=None, index=None, columns=None) Parameters: data: numpy ndarray, dict or dataframe index: index for resulting dataframe columns: column labels for resulting datafr
1 min read
NumPy ndarray.tolist() Method | Convert NumPy Array to List The ndarray.tolist() method converts a NumPy array into a nested Python list. It returns the array as an a.ndim-levels deep nested list of Python scalars. Data items are converted to the nearest compatible built-in Python type. Example Python3 import numpy as np gfg = np.array([1, 2, 3, 4, 5]) print
1 min read
NumPy ndarray.tolist() Method | Convert NumPy Array to List The ndarray.tolist() method converts a NumPy array into a nested Python list. It returns the array as an a.ndim-levels deep nested list of Python scalars. Data items are converted to the nearest compatible built-in Python type. Example Python3 import numpy as np gfg = np.array([1, 2, 3, 4, 5]) print
1 min read
How to convert NumPy array to dictionary in Python? The following article explains how to convert numpy array to dictionary in Python. Array in Numpy is a table of elements (usually numbers), all of the same type, indexed by a tuple of positive integers. In Numpy, number of dimensions of the array is called rank of the array. A tuple of integers givi
3 min read
How to Convert Index to Column in Pandas Dataframe? Pandas is a powerful tool which is used for data analysis and is built on top of the python library. The Pandas library enables users to create and manipulate dataframes (Tables of data) and time series effectively and efficiently. These dataframes can be used for training and testing machine learni
2 min read
How to Convert String to Float in Pandas DataFrame Converting Strings to Float in Pandas DataFrame is a very crucial step for data analysis. Converting string to float values can help you perform various arithmetic operations and plot graphs. In this article, we'll look at different ways to convert a string to a float in DataFrame. Creating Sample D
4 min read