> 백엔드 개발 > 파이썬 튜토리얼 > Pandas 벡터화에서 `map`, `applymap` 및 `apply`는 어떻게 다릅니까?

Pandas 벡터화에서 `map`, `applymap` 및 `apply`는 어떻게 다릅니까?

Patricia Arquette
풀어 주다: 2024-12-07 03:09:10
원래의
762명이 탐색했습니다.

How Do `map`, `applymap`, and `apply` Differ in Pandas Vectorization?

Pandas의 벡터화 방법: map, applymap 및 apply

Pandas는 데이터 구조에 함수를 적용하는 편리한 방법을 제공합니다. map, applymap 및 apply는 데이터 조작 및 변환을 용이하게 하는 세 가지 메서드입니다. 각 메소드는 특정 목적을 수행하며 원하는 결과에 따라 사용법이 달라집니다.

map

map은 시리즈에 함수 요소별로 적용할 때 사용됩니다. 변환된 값이 포함된 새 시리즈를 반환합니다.

예:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

import pandas as pd

 

series = pd.Series([1, 2, 3, 4, 5])

 

def square(x):

    return x ** 2

 

squared_series = series.map(square)

 

print(squared_series)

# Output:

# 0    1

# 1    4

# 2    9

# 3   16

# 4   25

# dtype: int64

로그인 후 복사

applymap

applymap은 함수를 적용합니다. 요소별로 DataFrame으로. 변환된 값으로 새 DataFrame을 생성합니다.

예:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

df = pd.DataFrame({

    'name': ['John', 'Jane', 'Tom'],

    'age': [20, 25, 30]

})

 

def capitalize(x):

    return x.capitalize()

 

df['name'] = df['name'].applymap(capitalize)

 

print(df)

# Output:

#    name  age

# 0  John   20

# 1  Jane   25

# 2  Tom    30

로그인 후 복사

apply

apply는 더 많은 것을 허용합니다. DataFrame에 행 또는 열 단위로 함수를 적용하여 복잡한 변환을 수행합니다. 결과와 함께 시리즈 또는 DataFrame을 반환합니다.

예:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

def get_age_group(age):

    if age <= 20:

        return 'Young'

    elif age <= 40:

        return 'Middle-aged'

    else:

        return 'Senior'

 

df['age_group'] = df['age'].apply(get_age_group)

 

print(df)

# Output:

#   name  age age_group

# 0  John   20     Young

# 1  Jane   25  Middle-aged

# 2  Tom    30  Middle-aged

로그인 후 복사

위 내용은 Pandas 벡터화에서 `map`, `applymap` 및 `apply`는 어떻게 다릅니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿