Pandas эквивалент SQL CROSS JOIN (декартово произведение) [дубликат]
этот вопрос уже есть ответ здесь:
- декартово произведение в панд 9 ответов
допустим, у меня было два стола:
Таблица 1:
col1 col2
0 1
2 3
Таблица 2:
col3 col4
5 6
7 8
в SQL, если я сделал следующее заявление:
Select *
From Table1, Table2;
Я ожидал бы получить обратно таблицу со всеми комбинациями из обеих таблиц:
col1 col2 col3 col4
0 1 5 6
0 1 7 8
2 3 5 6
2 3 7 8
есть ли способ сделать то же самое с двумя фреймами данных в панд?
1 ответов
стандартная идиома использует merge
на фиктивном столбце.
df1.assign(foo=1).merge(df2.assign(foo=1)).drop('foo', 1)
col1 col2 col3 col4
0 0 1 5 6
1 0 1 7 8
2 2 3 5 6
3 2 3 7 8