>  기사  >  백엔드 개발  >  Pandas 기술: DataFrame의 apply 및 applymap 메서드에 대한 자세한 설명

Pandas 기술: DataFrame의 apply 및 applymap 메서드에 대한 자세한 설명

coldplay.xixi
coldplay.xixi앞으로
2020-09-17 16:49:023125검색

Pandas 기술: DataFrame의 apply 및 applymap 메서드에 대한 자세한 설명

관련 학습 권장 사항: python 비디오 튜토리얼

오늘은 pandas 데이터 처리 주제의 다섯 번째 기사입니다. pandas의 몇 가지 고급 작업에 대해 이야기해 보겠습니다.

이전 글에서는 두 데이터프레임의 4가지 산술연산, 데이터프레임에 Null을 채우는 방법 등 파나드의 몇 가지 계산 방법을 소개했습니다. 오늘 기사에서는 데이터프레임의 브로드캐스트 메커니즘과 적용 기능을 사용하는 방법에 대해 설명하겠습니다. ㅋㅋㅋ 크기가 일치하지 않는 두 개의 배열에 대해 작업을 수행할 때 시스템은 계산을 수행하기 전에 자동으로 더 작은 크기의 배열을 다른 배열과 동일하게 채웁니다.

예를 들어, 2차원 배열에서 1차원 배열을 빼면 numpy는 먼저 한 자리 배열을 2차원으로 확장한 다음 빼기 연산을 수행합니다. 이 1차원 배열에서 2차원 배열의 각 행을 빼는 것처럼 보입니다. 이 1차원 배열을 빼는 연산을 2차원 배열의 각 행이나 열에 브로드캐스팅하는 것으로 이해할 수 있습니다. 위의 예에서는 numpy 배열을 만든 다음 첫 번째 행을 뺍니다. 최종 결과를 비교할 때 arr 배열의 각 행에서 첫 번째 행을 뺀 것을 알 수 있습니다. 데이터프레임에서도 동일한 작업을 수행할 수 있습니다.

물론 특정 열에도 브로드캐스트할 수 있지만 데이터프레임의 네 가지 산술 연산의 브로드캐스트 메커니즘은 기본적으로 행에 적용됩니다. 이를 열에 사용하려면 산술 연산을 사용하고 지정해야 합니다. 우리가 일치시키고 싶은 축.

함수 및 매핑

Pandas의 또 다른 장점은 numpy의 일부 계산 방법 및 함수와 호환되므로 numpy On에서도 일부 기능을 사용할 수 있다는 것입니다. DataFrame을 사용하면 사용법과 계산 방법이 크게 확장됩니다.

예를 들어 DataFrame의 모든 요소를 ​​정사각형으로 바꾸고 싶다면 numpy의 정사각형 방법을 사용하여 쉽게 할 수 있습니다.

DataFrame을 numpy 함수의 매개변수로 전달할 수 있지만 원하는 경우 메서드를 직접 정의하여 DataFrame에 적용하려면 어떻게 해야 하나요?

이것은

apply 메소드를 사용하여 쉽게 달성할 수 있습니다. Apply 메소드는 DataFrame의 각 요소에 대해 매핑 계산을 수행할 수 있는 Python의 기본 맵 메소드와 다소 유사합니다. Apply 메서드에서 DataFrame에 적용하려는 메서드만 전달하면 됩니다. 즉, DataFrame이 받아들이는 매개변수는 매우 일반적인 함수형 프로그래밍 애플리케이션인 함수라는 뜻입니다.

예를 들어 DataFrame을 제곱하려는 경우 np.square 함수를 매개변수로 전달할 수도 있습니다.

apply 메소드는 DataFrame 전체에 적용할 수 있을 뿐만 아니라 특정 행이나 특정 열 또는 특정 부분에도 적용할 수 있습니다. 적용 방법은 동일합니다. 예를 들어 DataFrame의 특정 행과 특정 열에 square 메서드를 적용할 수 있습니다.

또한 Apply의 함수 범위는 요소에만 국한되지 않고 행이나 열에 작용하는 함수를 작성할 수도 있습니다. 예를 들어 DataFrame에 있는 각 열의 최대값을 계산하려면 다음과 같이 작성할 수 있습니다.

이 익명 함수의 x는 실제로 Series이므로 여기의 max는 max 메서드입니다. 시리즈와 함께 제공됩니다. 즉, 적용 범위는 시리즈이지만 최종 효과는 모든 요소가 변경되지만 적용 범위는 요소가 아니라 시리즈입니다. 각 요소에 변경 사항을 적용하는 행 또는 열 작업을 적용합니다.

마찬가지로 적용 대상을 행으로 제한할 수도 있습니다. 이를 제한하려면 축을 전달해야 합니다. 축='열'을 지정하거나 둘의 효과는 다음과 같습니다. 같은. .

또한 Apply에서 반환되는 결과는 스칼라일 필요는 없으며 여러 값으로 구성된 목록 또는 시리즈일 수도 있습니다. 실제로 목록이 반환되더라도 둘은 동일합니다. , 시리즈로 변환됩니다.

마지막으로 요소 수준 맵인 Applymap을 소개하겠습니다. 이를 사용하여 DataFrame의 모든 요소를 ​​조작할 수 있습니다. 예를 들어 이를 사용하여 DataFrame의 데이터 형식을 변환할 수 있습니다.

map 대신 applymap이라고 부르는 이유는 Series 방식에 이미 맵이 있어서 이를 구별하기 위해 Applymap을 만든 것입니다.

여기서 위 코드에서 ApplyMap을 적용하도록 변경하면 오류가 보고된다는 점 참고하시기 바랍니다. 오류가 발생하는 이유도 매우 간단합니다. 적용 메소드의 범위가 요소가 아닌 Series이며, Series에서는 이러한 작업을 지원하지 않기 때문입니다. ㅋㅋㅋ .레벨 API. Python에 능숙해지면 우리가 데이터 처리를 처리하는 데 매우 도움이 됩니다. Python의 기본 맵 방법을 이해한다면 오늘의 기사를 원활하게 이해할 수 있을 것이라고 믿습니다.

프로그래밍에 대해 더 자세히 알고 싶다면 php training 칼럼을 주목해주세요!

위 내용은 Pandas 기술: DataFrame의 apply 및 applymap 메서드에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 juejin.im에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제