¿Cómo obtener un producto cartesiano de un gran conjunto de datos usando Pandas en Python?

En este artículo, discutiremos cómo hacer un producto cartesiano de un gran conjunto de datos. La función que estamos usando aquí para hacer el producto cartesiano es la función de fusión, que es el punto de entrada para todas las operaciones estándar de unión de bases de datos entre objetos DataFrame.

Sintaxis:

data1 = pd.DataFrame({‘dataset_name_1’: [dataset_1]})

data2 = pd.DataFrame({‘dataset_name_2’: [dataset_2]})

data3 = pd.merge(data1.assign(clave=1), data2.assign(clave=1), on=’clave’).drop(‘clave’, eje=1)

Parámetros:

  • dataset_name_1, dataset_name_2: aquí, estos nombres se refieren a los nombres de los conjuntos de datos cuyo producto cartesiano se debe realizar.
  • dataset_1, dataset_2: Aquí, estos términos se refieren al conjunto de datos completo del cual se debe realizar el producto cartesiano.
  • data1: Se refiere a un objeto de marco de datos.
  • data2: se refiere a otro objeto de marco de datos.
  • on: Los nombres de las columnas que deben unirse.

Implementación paso a paso:

Paso 1: En primer lugar, importa la biblioteca Pandas.

import pandas as pd

Paso 2: luego, obtenga los conjuntos de datos sobre los que desea realizar un producto cartesiano.

data1 = pd.DataFrame({'column_name': [dataset_1]})
data2 = pd.DataFrame({'column_name': [dataset_2]})

Paso 3: Además, use una función de combinación para realizar el producto cartesiano en los conjuntos de datos obtenidos.

data3 = pd.merge(data1.assign(key=1), data2.assign(key=1),
                 on='key').drop('key', axis=1)

Paso 4: Finalmente, imprime el producto cartesiano obtenido.

print(data3)

Ejemplo:

Python3

# Python program to get Cartesian
# product of huge dataset
  
# Import the library Pandas
import pandas as pd
  
# Obtaining the dataset 1
data1 = pd.DataFrame({'P': [1,3,5]})
  
# Obtaining the dataset 2
data2 = pd.DataFrame({'Q': [2,4,6]})
  
# Doing cartesian product of datasets 1 and 2 
data3 = pd.merge(data1.assign(key=1), data2.assign(key=1), 
                 on='key').drop('key', axis=1)
  
# Printing the cartesian product of both datasets
print(data3)

Producción:

   P  Q
0  1  2
1  1  4
2  1  6
3  3  2
4  3  4
5  3  6
6  5  2
7  5  4
8  5  6

Publicación traducida automáticamente

Artículo escrito por vin8rai y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *