우리 팬더 사용 코드의 많은 곳에서 우리는 파이썬 함수 process(row)
을 가지고 있습니다. 이 함수는 DataFrame.iterrows()
이상 사용되며 각각 row
을 사용하고 일부 처리를 수행하며 최종적으로 수집하는 값을 새로운 Series
으로 반환합니다.파이썬 함수로 DataFrame 행을 효율적으로 처리합니까?
이 사용 패턴은 numpy/Pandas 스택의 성능상의 이점 대부분을 회피합니다.
- 이 사용 패턴을 가능한 한 효율적으로 만드는 가장 좋은 방법은 무엇입니까? ?
- 대부분의 코드를 다시 작성하지 않고도 처리 할 수 있습니까?
이 질문의 또 다른 측면은 이러한 모든 기능을 수치 효율적인 표현으로 변환 할 수 있습니까? 나는 numpy/scipy/Pandas 스택에 대해 많은 것을 배웠지 만 진정한 임의 논리에 대해서는 때때로 위와 같은 느린 순수 Python 아키텍처를 사용해야 할 수도 있습니다. 그럴까요?
수학을하는 경우 벡터화 연산을 수행 할 수 있어야합니다. 문자열이나 다른 고정 크기의 데이터 유형을 사용하는 경우 숫자에 대해 vecorized 방식으로 계산 한 다음 나머지 부분에 대해 행 기반으로 수행 할 수 있습니다 ... 수행중인 작업에 대한 세부 정보를 제공 할 수 있습니까? –