파이썬에서 벡터 배열의 데카르트 곱으로 볼 수있는 것을 생성하는 데 문제가 있습니다. r 변수보다 n 개의 가능한 모든 파티션을 제공하는 코드를 가지고 있으며이를 numpy 배열로 반환합니다. 내가하고 싶은 것은 그 코드를 임의의 횟수만큼 호출하고 배열의 모든 가능한 조합의 집합을 생성 할 수있는 것입니다. 파이썬에서 모든 벡터 조합 세트
그래서 예를 제공하기 위해, 나는 집합을 반환 할 수 있도록 내가 무엇을 찾고 파티션 코드 (변화하는 매개 변수 세트) 각 연속 호출array([[2,0],[1,1],[2,0]])
array([[1,0],[0,1]])
array([[0,0]])
입니다 호출 할 수
array([[2,0],[1,0],[0,0]])
array([[2,0],[0,1],[0,0]])
array([[1,1],[1,0],[0,0]])
.....
전체 배열 또는 줄 단위로 반환합니다 (분할되는 숫자의 크기가 커짐에 따라 명백한 메모리 문제가 발생 함).
이전에 itertools.product를 사용하여이 문제를 해결하고 PyPy에서 코드를 실행했습니다. 그러나 프로젝트의 다른 부분에서 Numpy가 필요하기 때문에 PyPy에서 표준 Python으로 전환해야했으며 Numpy를 사용하여 PyPy 코드의 속도를 재현하려고합니다. 나는이 작업을 대략적으로 처리 할 수 있었지만, 코드는 솔루션을 함께 부트 스트랩하여 구현하기에는 너무 비싸다.
아무도 내가 이것을 파이썬으로 어떻게 진행해야하는지에 대한 약간의 지침을 제공해 주실 수 있는지 궁금합니다.
감사
numpy 명령을 사용하여 외부 제품을 구축하고 있습니까? 코드를 제공 할 수 있습니까? –
는 생성 된 분할 코드를 의미 말아 어레이 ([2,0], [1,1], [2,0]) 어레이 ([1,0], [0,1]) 배열 ([[0,0]]) – user2745293