Чтобы вернуть декартово произведение двух фреймов данных в Python, вы можете использовать различные методы в зависимости от библиотек, с которыми вы работаете. Вот несколько примеров использования популярных библиотек, таких как Pandas и NumPy:
- Использование Pandas:
import pandas as pd
# Create two dataframes
df1 = pd.DataFrame({'A': [1, 2, 3]})
df2 = pd.DataFrame({'B': [4, 5, 6]})
# Perform Cartesian product
cartesian_product = df1.assign(key=1).merge(df2.assign(key=1), on='key').drop('key', axis=1)
# Print the result
print(cartesian_product)
- Использование NumPy:
import numpy as np
# Create two arrays
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
# Perform Cartesian product
cartesian_product = np.transpose([np.tile(arr1, len(arr2)), np.repeat(arr2, len(arr1))])
# Convert the result to a dataframe
df_cartesian_product = pd.DataFrame(cartesian_product, columns=['A', 'B'])
# Print the result
print(df_cartesian_product)
Эти примеры демонстрируют два разных подхода к вычислению декартова произведения двух кадров/массивов данных. Первый метод использует функцию merge()
из Pandas, а второй метод использует функции tile()
и repeat()
NumPy для создания Декартово произведение.