Convertir Pandas DataFrame a NumPy Array

Puedes convertir un DataFrame de Pandas en un Array de Numpy para realizar algunas funciones matemáticas de alto nivel soportadas por el paquete Numpy.

Para convertir Pandas DataFrame a Numpy Array, utilice la función «DataFrame.to_numpy()«. to_numpy() se aplica a este «DataFrame» y el método devuelve un objeto de tipo Numpy ndarray. Normalmente el ndarray devuelto es bidimensional.

Ejemplo 1: De DataFrame a Numpy Array

En el siguiente ejemplo, convertimos el DataFrame en un array de Numpy.

import pandas as pd

#inicializar un dataframe
df = pd.DataFrame(
	[[21, 72, 67],
	[23, 78, 69],
	[32, 74, 56],
	[52, 54, 76]],
	columns=['a', 'b', 'c'])

print('DataFrame\n----------\n', df)

#convertir dataframe a numpy array
arr = df.to_numpy()

print('\nNumpy Array\n----------\n', arr)

La sentencia «df.to_numpy()» convierte el dataframe en una matriz numpy y devuelve la matriz numpy.

Salida:

DataFrame 
----------
     a   b   c
0  21  72  67 
1  23  78  69 
2  32  74  56 
3  52  54  76 

Numpy Array   
----------    
 [[21 72 67]  
 [23 78 69]
 [32 74 56]
 [52 54 76]]

Ejemplo 2: Pandas DataFrame a Numpy Array cuando el DataFrame tiene diferentes tipos de datos

Cuando se tiene un DataFrame con columnas de diferentes tipos de datos, el Array NumPy devuelto está formado por elementos de un único tipo de datos. El tipo de datos más bajo del DataFrame se considera para el tipo de datos del Array NumPy.

En el siguiente ejemplo, el DataFrame consta de columnas de tipo de datos int64 y float64. Cuando este DataFrame se convierte en NumPy Array, se selecciona el tipo de datos más bajo de int64 y float64, que es float64.

import pandas as pd
import numpy as np

#inicialización de un dataframe
df = pd.DataFrame(
	[[21, 72, 67.1],
	[23, 78, 69.5],
	[32, 74, 56.6],
	[52, 54, 76.2]],
	columns=['a', 'b', 'c'])

print('DataFrame\n----------\n', df)
print('\nDataFrame datatypes :\n', df.dtypes)

#conversión de pandas dataframe a numpy array
arr = df.to_numpy()

print('\nNumpy Array\n----------\n', arr)
print('\nNumpy Array Datatype :', arr.dtype)

Salida:

DataFrame
----------
     a   b     c
0  21  72  67.1
1  23  78  69.5
2  32  74  56.6
3  52  54  76.2

DataFrame datatypes :
 a      int64
b      int64
c    float64
dtype: object

Numpy Array
----------
 [[21.  72.  67.1]
 [23.  78.  69.5]
 [32.  74.  56.6]
 [52.  54.  76.2]]

Numpy Array Datatype : float64

La matriz Numpy devuelta es de tipo float64.

En este tutorial de Ejemplos de Python, hemos aprendido a convertir Pandas DataFrame a Numpy Array.

Deja una respuesta