매개 변수 배열을 함수 행렬에 브로드 캐스트하는 방법은 무엇입니까?

Spenhouet

함수 행렬이 주어집니다 (모든 함수는 다른 논리를 가질 수 있음). 모양은 [N, x]입니다.

matrix_of_functions = [
    [fun11, fun12, fun13],
    [fun21, fun22, fun23],
    ...
    [funN1, funN2, funN3]
]

shape를 가진 매개 변수 배열도 있습니다 [x].

array_of_parameters = [param1, param2, param3]

이 치수는 동일한 크기 x입니다. 매개 변수는이 차원에서 브로드 캐스트되어야하며 기능이 적용되어야합니다.

따라서 결과 행렬은 다음과 같습니다 ( numpy끝에 배열 이어야 함 ).

matrix_of_results = [
    [fun11(param1), fun12(param2), fun13(param3)],
    [fun21(param1), fun22(param2), fun23(param3)],
    ...
    [funN1(param1), funN2(param2), funN3(param3)]
]

이 작업을 수행하는 아름다운 방법이 있어야 할 것 같지만 어떻게?

분명히 다음과 같이 할 수 있습니다.

matrix_of_results = []
for array_of_functions in matrix_of_functions:
    array_of_results = [fun(param) for fun, param in zip(array_of_functions, array_of_parameters])]:
    matrix_of_results.append(array_of_results )

또는 더 콤팩트 :

matrix_of_results = [
    [fun(param) for fun, param in zip(array_of_functions, array_of_parameters])] 
    for array_of_functions in matrix_of_functions
]

또는 다른 많은 방법 ...하지만 그것은 읽기도 좋고 아름답지도 않습니다.

나는 numpyish 방법 이 있기를 바랐다. 방송이 자동으로 모양 때문에 처리하는 것을 의미 [N, x]하고 [x]캐스트 가능한입니다. 그러나 그것은 사실이 아닌 것 같습니다 ( np.vectorize함수 목록이나 행렬이 아닌 단일 함수 만 취합니다).

Spenhouet

@mephisto는 비슷한 목표를 포함하는 또 다른 질문을 지적했습니다. Numpy : 요소별로 곱하는 것처럼 동일한 길이의 2d 배열 값에 함수 배열을 적용합니까? (파이썬 함수를 연산자로 사용합니까?)

차이점은 다른 질문은 함수 배열을 매개 변수 행렬로 브로드 캐스팅하는 것이 었습니다. 좋은 부분은 매개 변수 배열을 함수 행렬에 매핑하려는 경우에도 대답이 적용된다는 것입니다.

결국 해결책은 np.vectorize다음과 같습니다.

apply_vectorized = np.vectorize(lambda f, x: f(x))
matrix_of_results = apply_vectorized(matrix_of_functions, array_of_parameters)

apply_vectorized방법은 내가 찾던 바로 그것입니다. 이 기능이 기본적으로 나오고 도우미 기능을 구현할 필요가 없기를 바랐지만 그와 함께 살 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

파이썬에서 배열을 함수 매개 변수로 선언하는 방법은 무엇입니까?

분류에서Dev

C ++의 함수에서 배열 요소를 매개 변수로 전달하는 방법은 무엇입니까?

분류에서Dev

정수 배열을 javascript에서 python으로 매개 변수로 전달하는 방법은 무엇입니까?

분류에서Dev

정수 배열을 javascript에서 python으로 매개 변수로 전달하는 방법은 무엇입니까?

분류에서Dev

매개 변수로 배열 목록을 정렬하는 방법은 무엇입니까?

분류에서Dev

Java String 배열에서 Spark 브로드 캐스트 변수를 만드는 방법은 무엇입니까?

분류에서Dev

클래스 유형을 매개 변수로 전달하고 캐스트하는 방법은 무엇입니까?

분류에서Dev

함수에 클래스 유형을 매개 변수로 전달하는 방법은 무엇입니까?

분류에서Dev

프로토 타입에서 행렬을 함수 매개 변수로 전달하는 방법은 무엇입니까?

분류에서Dev

HTML.Action에 매개 변수로 바이트 배열을 보내는 방법은 무엇입니까?

분류에서Dev

이 절차에서 배열을 매개 변수로 전달하는 방법은 무엇입니까?

분류에서Dev

C에서 연속 배열을 매개 변수로 전달하는 방법은 무엇입니까?

분류에서Dev

Delphi에서 메서드 매개 변수 이름 배열 / 목록을 얻는 방법은 무엇입니까?

분류에서Dev

자바 스크립트의 매개 변수로 다른 함수에 전달되는 함수에서 값을 반환하는 방법은 무엇입니까?

분류에서Dev

MobX State Tree 모델을 TypeScript에서 함수 매개 변수로 사용하는 방법은 무엇입니까?

분류에서Dev

bash의 함수에 매개 변수로 globbing 패턴을 전달하는 방법은 무엇입니까?

분류에서Dev

PostgreSQL에서 사용자 지정 형식의 다차원 배열을 함수 매개 변수로 전달하는 방법은 무엇입니까?

분류에서Dev

재귀 매크로에서 매개 변수 변수 값을 변경하는 방법은 무엇입니까?

분류에서Dev

두 개의 매개 변수가있는 함수를 배열 (JavaScript)에 넣는 방법은 무엇입니까?

분류에서Dev

각 개체 매개 변수에 대해 개체 배열을 배열로 평면화하는 방법은 무엇입니까?

분류에서Dev

JRuby를 통해 Ruby 스크립트에 Java char 배열을 매개 변수로 올바르게 전달하는 방법은 무엇입니까?

분류에서Dev

매개 변수 배열로 var-args 멤버 함수를 호출하는 방법은 무엇입니까?

분류에서Dev

변수 유형을 매개 변수 함수로 삽입하는 방법은 무엇입니까?

분류에서Dev

Windows 레지스트리의 전체 파일 이름 (공백 포함)을 매개 변수로 배치 파일에 전달하는 방법은 무엇입니까?

분류에서Dev

급행 경로에서 선택적 매개 변수 이름을 만드는 방법은 무엇입니까?

분류에서Dev

개체 이름 값 쌍을 매개 변수로 메서드에 전달하는 방법은 무엇입니까?

분류에서Dev

Haskell에서 매개 변수화 된 유형을 JSON으로 직렬화하는 방법은 무엇입니까?

분류에서Dev

웹 페이지에서 여러 매개 변수로 JSON을 정렬하는 방법은 무엇입니까?

분류에서Dev

함수를 다른 함수에 매개 변수로 전달하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    파이썬에서 배열을 함수 매개 변수로 선언하는 방법은 무엇입니까?

  2. 2

    C ++의 함수에서 배열 요소를 매개 변수로 전달하는 방법은 무엇입니까?

  3. 3

    정수 배열을 javascript에서 python으로 매개 변수로 전달하는 방법은 무엇입니까?

  4. 4

    정수 배열을 javascript에서 python으로 매개 변수로 전달하는 방법은 무엇입니까?

  5. 5

    매개 변수로 배열 목록을 정렬하는 방법은 무엇입니까?

  6. 6

    Java String 배열에서 Spark 브로드 캐스트 변수를 만드는 방법은 무엇입니까?

  7. 7

    클래스 유형을 매개 변수로 전달하고 캐스트하는 방법은 무엇입니까?

  8. 8

    함수에 클래스 유형을 매개 변수로 전달하는 방법은 무엇입니까?

  9. 9

    프로토 타입에서 행렬을 함수 매개 변수로 전달하는 방법은 무엇입니까?

  10. 10

    HTML.Action에 매개 변수로 바이트 배열을 보내는 방법은 무엇입니까?

  11. 11

    이 절차에서 배열을 매개 변수로 전달하는 방법은 무엇입니까?

  12. 12

    C에서 연속 배열을 매개 변수로 전달하는 방법은 무엇입니까?

  13. 13

    Delphi에서 메서드 매개 변수 이름 배열 / 목록을 얻는 방법은 무엇입니까?

  14. 14

    자바 스크립트의 매개 변수로 다른 함수에 전달되는 함수에서 값을 반환하는 방법은 무엇입니까?

  15. 15

    MobX State Tree 모델을 TypeScript에서 함수 매개 변수로 사용하는 방법은 무엇입니까?

  16. 16

    bash의 함수에 매개 변수로 globbing 패턴을 전달하는 방법은 무엇입니까?

  17. 17

    PostgreSQL에서 사용자 지정 형식의 다차원 배열을 함수 매개 변수로 전달하는 방법은 무엇입니까?

  18. 18

    재귀 매크로에서 매개 변수 변수 값을 변경하는 방법은 무엇입니까?

  19. 19

    두 개의 매개 변수가있는 함수를 배열 (JavaScript)에 넣는 방법은 무엇입니까?

  20. 20

    각 개체 매개 변수에 대해 개체 배열을 배열로 평면화하는 방법은 무엇입니까?

  21. 21

    JRuby를 통해 Ruby 스크립트에 Java char 배열을 매개 변수로 올바르게 전달하는 방법은 무엇입니까?

  22. 22

    매개 변수 배열로 var-args 멤버 함수를 호출하는 방법은 무엇입니까?

  23. 23

    변수 유형을 매개 변수 함수로 삽입하는 방법은 무엇입니까?

  24. 24

    Windows 레지스트리의 전체 파일 이름 (공백 포함)을 매개 변수로 배치 파일에 전달하는 방법은 무엇입니까?

  25. 25

    급행 경로에서 선택적 매개 변수 이름을 만드는 방법은 무엇입니까?

  26. 26

    개체 이름 값 쌍을 매개 변수로 메서드에 전달하는 방법은 무엇입니까?

  27. 27

    Haskell에서 매개 변수화 된 유형을 JSON으로 직렬화하는 방법은 무엇입니까?

  28. 28

    웹 페이지에서 여러 매개 변수로 JSON을 정렬하는 방법은 무엇입니까?

  29. 29

    함수를 다른 함수에 매개 변수로 전달하는 방법은 무엇입니까?

뜨겁다태그

보관