Skip to content
Tutoriales
Pandas
How to Convert Pandas Dataframe to Numpy Array

Convertir DataFrame de Pandas a Array de NumPy: Una guía completa

Si está familiarizado con el análisis de datos, es probable que haya trabajado tanto con DataFrames de Pandas como con arrays de NumPy. Si bien los DataFrames ofrecen capacidades avanzadas de manipulación de datos, los arrays de NumPy son ideales para realizar operaciones numéricas en conjuntos de datos grandes.

En este artículo, exploraremos cómo convertir fácilmente un DataFrame de Pandas a un array de NumPy. Cubriremos desde la sintaxis y los ejemplos de código hasta las mejores prácticas y consejos útiles. Entonces, ya sea que sea un principiante o un científico de datos experimentado, siga leyendo para aprender cómo mejorar sus habilidades de análisis de datos con facilidad.

¿Quiere crear rápidamente visualizaciones de datos a partir de un DataFrame de Python Pandas sin utilizar código?

PyGWalker es una biblioteca de Python para el análisis exploratorio de datos con visualización. PyGWalker (opens in a new tab) puede simplificar su flujo de trabajo de análisis de datos y visualización de datos en Jupyter Notebook convirtiendo su DataFrame de Pandas (y el DataFrame de polars) en una interfaz de usuario al estilo de Tableau para la exploración visual.

PyGWalker para la visualización de datos (opens in a new tab)

¿Qué es un DataFrame de Pandas?

Un DataFrame de Pandas es una estructura de datos tabular de 2 dimensiones, mutable en tamaño, que se utiliza comúnmente para manipular y analizar datos. Es similar a una hoja de cálculo o una tabla SQL y puede contener una amplia variedad de tipos de datos como enteros, flotantes y cadenas.

En Pandas, se crea un DataFrame usando diccionarios o leyendo archivos de datos CSV, Excel u otros tipos de archivos de datos. Puede manipular un DataFrame de diversas maneras, como seleccionar filas y columnas, ordenar, filtrar y agregar datos.

¿Qué es un array de NumPy?

Un array de NumPy, por otro lado, es un contenedor multidimensional de elementos del mismo tipo y tamaño. Puede contener varios tipos de datos numéricos como enteros, flotantes y números complejos.

Los arrays de NumPy son ideales para operaciones numéricas debido a su capacidad para admitir cálculos matemáticos en matrices completas sin bucles o iteraciones. También ofrecen una amplia gama de funciones matemáticas y a menudo se utilizan en computación científica y análisis de datos.

Pasos para convertir un DataFrame de Pandas a un array de NumPy

La conversión de un DataFrame de Pandas a un array de NumPy es fácil. Los siguientes pasos explican el proceso:

  1. Instale el paquete NumPy si aún no está instalado:

    pip install numpy
  2. Importe los paquetes Pandas y NumPy:

    import pandas as pd
    import numpy as np
  3. Cree un DataFrame de Pandas utilizando un diccionario:

    data = {'Nombre': ['Juan', 'Jane', 'Sam'],# Conversión de un DataFrame de Pandas a un array de NumPy en Python

Introducción

Cuando trabajamos con datos en Python, es común utilizar dos estructuras de datos principales: DataFrames de Pandas y arrays de NumPy. Los DataFrames de Pandas son ideales para manipular datos tabulares, mientras que los arrays de NumPy son excelentes para operaciones numéricas y matemáticas. En muchos casos, necesitaremos convertir un DataFrame de Pandas a un array de NumPy para realizar ciertas operaciones. En este tutorial, aprenderás cómo hacerlo.

Requisitos

Para seguir este tutorial, necesitarás lo siguiente:

Cómo convertir un DataFrame de Pandas a un array de NumPy

Los DataFrames de Pandas tienen un método llamado to_numpy(), que nos permite convertir el DataFrame a un array de NumPy. Este método es especialmente útil cuando queremos realizar operaciones numéricas, como cálculos matemáticos y estadísticos.

Para ilustrar cómo funciona este método, considera el siguiente ejemplo:

import pandas as pd
import numpy as np
 
data = {'Age': [25, 29, 36],
        'Sex': ['Male', 'Female', 'Male']}
df = pd.DataFrame(data)
 
npArray = df.to_numpy()
print(npArray)

Este código primero crea un DataFrame utilizando el diccionario data. Luego, utiliza el método to_numpy() para convertir el DataFrame a un array de NumPy. Finalmente, imprime el array resultante.

La salida de este código debería ser la siguiente:

array([[25, 'Male'],
       [29, 'Female'],
       [36, 'Male']], dtype=object)

Como puedes ver, el array resultante se compone de los valores del DataFrame, donde el tipo de datos se determina automáticamente por NumPy.

Otros métodos útiles

Además del método to_numpy(), existen otros métodos que pueden resultar útiles cuando se trabaja con DataFrames de Pandas y arrays de NumPy. A continuación, presentamos algunos ejemplos para ilustrar cómo funcionan estos métodos.

DataFrame.values

El atributo values es una alternativa al método to_numpy(). Este atributo retorna una representación de los valores del DataFrame como un array de NumPy. El siguiente código es un ejemplo de cómo utilizar el atributo values:

import pandas as pd
import numpy as np
 
data = {'Age': [25, 29, 36],
        'Sex': ['Male', 'Female', 'Male']}
df = pd.DataFrame(data)
 
npArray = df.values
print(npArray)

La salida de este código debería ser la misma que la del ejemplo anterior.

DataFrame.as_matrix

El método as_matrix es similar a values, pero ya no está recomendado debido a que será eliminado en versiones futuras de Pandas. Si necesitas convertir un DataFrame a un array de NumPy, es mejor que uses values o to_numpy().

DataFrame.to_records

El método to_records permite convertir un DataFrame a un array de NumPy estructurado. Este tipo de array puede ser útil cuando necesitas realizar ciertas operaciones, como guardar los datos en un archivo. A continuación, presentamos un ejemplo de cómo utilizar este método:

import pandas as pd
import numpy as np
 
data = {'Age': [25, 29, 36],
        'Sex': ['Male', 'Female', 'Male']}
df = pd.DataFrame(data)
 
npArray = df.to_records(index=False)
print(npArray)

La salida de este código debería ser la siguiente:

rec.array([(25, 'Male'), (29, 'Female'), (36, 'Male')],
          dtype=[('Age', '<i8'), ('Sex', 'O')])

Como puedes ver, el array resultante es un array estructurado con los nombres de las columnas del DataFrame como nombres de campo.

Ejemplos de código

A continuación, presentamos algunos ejemplos de código que ilustran cómo convertir DataFrames de Pandas a arrays de NumPy en varias situaciones.

Convertir una sola columna en un array de NumPy

Si tienes un DataFrame con una sola columna, puedes convertirla en un array de NumPy utilizando el siguiente código:

import pandas as pd
import numpy as np
 
df = pd.DataFrame({'A': [1, 2, 3, 4, 5]})
npArray = df['A'].to_numpy()

Convertir varias columnas en un array de NumPy

También puedes convertir varias columnas de un DataFrame a un array de NumPy. Considera el siguiente código:

import pandas as pd
import numpy as np
 
df = pd.DataFrame({'A': [1, 2, 3, 4, 5], 'B': [6, 7, 8, 9, 10]})
npArray = df[['A', 'B']].to_numpy()

Aquí seleccionamos las columnas 'A' y 'B' para incluirlas en nuestro array de NumPy.

Convertir filas seleccionadas en un array de NumPy

Si deseas convertir un subconjunto de filas de tu DataFrame a un array de NumPy, puedes utilizar el método iloc. Por ejemplo:

import pandas as pd
import numpy as np
 
df = pd.DataFrame({'A': [1, 2, 3, 4, 5], 'B': [6, 7, 8, 9, 10]})
npArray = df.iloc[1:3, :].to_numpy()

Este código selecciona las filas 1 a 3 del DataFrame e incluye todas las columnas en el array de NumPy resultante.

Convertir todas las columnas excepto una en un array de NumPy

Para excluir una columna específica de tu DataFrame al convertirlo en un array de NumPy, puedes especificar explícitamente las columnas que deseas incluir. Por ejemplo:

import pandas as pd
import numpy as np
 
df = pd.DataFrame({'A': [1, 2, 3, 4, 5], 'B': [6, 7, 8, 9, 10], 'C': [11, 12, 13, 14, 15]})
npArray = df[['A', 'B']].to_numpy()

Este código selecciona las columnas 'A' y 'B' del DataFrame, lo que resulta en un array de NumPy que solo contiene esas columnas.

Conclusión

En esta guía completa, has aprendido cómo convertir un DataFrame de Pandas a un array de NumPy en Python. Hemos demostrado la sintaxis y hemos proporcionado varios ejemplos de código para mostrar cómo convertir DataFrames en diferentes situaciones. Esperamos que hayas encontrado útil esta guía y que te ayude a expandir tus habilidades de análisis de datos. Al aprovechar las fortalezas de los DataFrames y los arrays de NumPy, puedes llevar tu análisis de datos a un nivel superior. ¡Feliz codificación!

Perguntas Frequentes

  1. Como converter dados de uma tabela para formato JSON?

    Para converter dados de uma tabela para formato JSON, você pode iterar sobre as linhas da tabela e criar um dicionário para cada linha, onde as chaves são os nomes das colunas e os valores são os valores correspondentes na linha. Em seguida, você pode armazenar esses dicionários em uma lista e usar a função json.dumps() para converter a lista para o formato JSON.

  2. Como converter uma tabela para JSON em Python?

    Em Python, você pode converter uma tabela para formato JSON usando a biblioteca pandas. Carregue os dados da tabela em um DataFrame do pandas e, em seguida, use o método to_json() para converter o DataFrame para formato JSON. Você pode especificar diferentes opções para a conversão JSON, como orientar a saída JSON como registros, colunas ou valores.

  3. Como converter uma lista para JSON em Python?

    Em Python, você pode converter uma lista para formato JSON usando a função json.dumps(). Passe a lista como argumento para json.dumps() e ele retornará uma representação da lista em formato de string no formato JSON. Você também pode especificar opções adicionais, como recuo (indentação) da saída JSON para melhor legibilidade.