sha256
@sha256

Как генерировать комбинации на python из двух групп чисел?

Друзья, всем привет!
Пытаюсь сгенерировать набор данных по условию:
А = [1, 2]
B = [8, 9, 14]
Количество цифр в одной комбинации = 2

Мне необходимо получить уникальные комбинации без повторов где A выступает ключом, например:
1,8
1,9
1,14
или
2,8
2,9
2,14
таким образом не должно быть примеров без значений A.

Как это лучше сделать?

Пытаюсь сделать следующее:
import pandas as pd 
import numpy as np 
import itertools as itr, itertools

df = pd.DataFrame([[1,2], [7,8,14]])
ndf = df.apply(lambda x: list(itr.combinations(x,2)), axis = 1)
A = []
B = ndf.values.tolist()
for i in B:
  A.extend(i)


Но результат не соответствует ожиданиям:

[(1.0, 2.0), (1.0, nan), (2.0, nan), (7.0, 8.0), (7.0, 14.0), (8.0, 14.0)]
  • Вопрос задан
  • 199 просмотров
Решения вопроса 1
AnnTHony
@AnnTHony
Интроверт
from itertools import product


A = [1, 2]
B = [8, 9, 14]
print(list(product(A, B)))  # [(1, 8), (1, 9), (1, 14), (2, 8), (2, 9), (2, 14)]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
29 мар. 2024, в 10:00
10000 руб./за проект
29 мар. 2024, в 09:59
750 руб./в час
29 мар. 2024, в 09:55
50000 руб./за проект