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