Programa Python para realizar unión cruzada en Pandas

En Pandas, hay parámetros para realizar fusiones a la izquierda, a la derecha, internas o externas y unirlas en dos DataFrames o Series. Sin embargo, a partir de ahora no existe la posibilidad de realizar una unión cruzada para fusionar o unir dos métodos usando el how="cross"parámetro.

Unión cruzada:

Ejemplo 1:

El ejemplo anterior se demuestra de la siguiente manera

# importing pandas module
import pandas as pd 
   
# Define a dictionary with column A
data1 = {'A': [1, 2]} 
     
# Define another dictionary with column B
data2 = {'B': ['a', 'b', 'c']}  
   
# Convert the dictionary into DataFrame  
df = pd.DataFrame(data1, index =[0, 1])
   
# Convert the dictionary into DataFrame  
df1 = pd.DataFrame(data2, index =[2, 3, 4]) 
  
# Now to perform cross join, we will create
# a key column in both the DataFrames to 
# merge on that key.
df['key'] = 1
df1['key'] = 1
  
# to obtain the cross join we will merge 
# on the key and drop it.
result = pd.merge(df, df1, on ='key').drop("key", 1)
  
result

Trama de datos 1:
Trama de datos 2:
Salida:

Ejemplo 2:

Unión cruzada en dos DataFrames para usuario y producto.

# importing pandas module
import pandas as pd 
   
# Define a dictionary containing user ID
data1 = {'Name': ["Rebecca", "Maryam", "Anita"],
        'UserID': [1, 2, 3]} 
     
# Define a dictionary containing product ID 
data2 = {'ProductID': ['P1', 'P2', 'P3', 'P4']} 
   
# Convert the dictionary into DataFrame  
df = pd.DataFrame(data1, index =[0, 1, 2])
   
# Convert the dictionary into DataFrame  
df1 = pd.DataFrame(data2, index =[2, 3, 6, 7]) 
  
# Now to perform cross join, we will create
# a key column in both the DataFrames to 
# merge on that key.
df['key'] = 1
df1['key'] = 1
  
# to obtain the cross join we will merge on 
# the key and drop it.
result = pd.merge(df, df1, on ='key').drop("key", 1)
  
result

Trama de datos 1:
Trama de datos 2:
Salida:

Ejemplo 3:

# importing pandas module
import pandas as pd 
   
# Define a dictionary with two columns
data1 = {'col 1': [0, 1],
        'col 2': [2, 3]} 
     
# Define another dictionary 
data2 = {'col 3': [5, 6],
        'col 4': [7, 8]}  
   
# Convert the dictionary into DataFrame  
df = pd.DataFrame(data1, index =[0, 1])
   
# Convert the dictionary into DataFrame  
df1 = pd.DataFrame(data2, index =[2, 3]) 
  
# Now to perform cross join, we will create
# a key column in both the DataFrames to
# merge on that key.
df['key'] = 1
df1['key'] = 1
  
# to obtain the cross join we will merge on 
# the key and drop it.
result = pd.merge(df, df1, on ='key').drop("key", 1)
  
result

Trama de datos 1:
Trama de datos 2:
Salida:

Publicación traducida automáticamente

Artículo escrito por maryamnadeem20 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 *