Pandas Dataframe의 열에 함수 적용
-
Pandas
apply()
및transform()
메서드 -
apply()
를 사용하여 Pandas DataFrame 열에 함수 적용 -
transform()
을 사용하여 Pandas DataFrame 열에 함수 적용
Pandas에서는apply()
및transform()
과 같은 메서드를 사용하여 열과 데이터 프레임을 변환하고 조작 할 수 있습니다. 원하는 변환은 함수로 메서드에 인수로 전달됩니다. 각 방법에는 미묘한 차이와 유용성이 있습니다. 이 기사에서는 열 또는 전체 데이터 프레임에 함수를 적용하는 방법을 소개합니다.
Pandas apply()
및transform()
메서드
apply()
및transform()
메서드는 모두 개별 열과 전체 데이터 프레임에서 작동합니다. apply()
메서드는 지정된 축을 따라 함수를 적용합니다. 열을 데이터 프레임으로 사용자 정의 함수에 전달하는 반면transform()
메서드는 개별 열을 pandas Series
로 사용자 정의 함수에 전달합니다.
apply()
메서드의 출력은 입력에 따라 데이터 프레임 또는Series
의 형태로 수신되는 반면transform()
메서드의 경우 시퀀스로 수신됩니다. apply()
및transform()
메서드의 구문은 모두 다음과 유사합니다.
Dataframe.apply(customFunction, axis=0)
Dataframe.transform(customFunction, axis=0)
인수는 다음에 해당합니다.
customFunction
: 데이터 프레임 또는 시리즈에 적용 할 함수.axis
: 0은'rows'
을, 1은'columns'
을 나타냅니다. 함수는 행 또는 열에 적용되어야합니다.
apply()
를 사용하여 Pandas DataFrame 열에 함수 적용
이제 기본 사항을 익혔으므로 코드를 손에 넣고apply()
메서드를 사용하여 데이터 프레임 열에 함수를 적용하는 방법을 이해하겠습니다.
다음과 같이 예제 데이터 프레임을 사용합니다.
import pandas as pd
import numpy as np
df = pd.DataFrame([[1, 2, 3], [4, 5, 6], [7, 8, 9]], columns=["A", "B", "C"])
print(df)
전체 DataFrame에 함수를 적용하는 예제 코드는 다음과 같습니다.
import pandas as pd
import numpy as np
df = pd.DataFrame([[1, 2, 3], [4, 5, 6], [7, 8, 9]], columns=["A", "B", "C"])
print(df)
def add_2(x):
return x + 2
df = df.apply(add_2)
print(df)
출력:
A B C
0 1 2 3
1 4 5 6
2 7 8 9
A B C
0 3 4 5
1 6 7 8
2 9 10 11
위와 같이 데이터 프레임 전체에 기능을 적용 할 수 있습니다.
단일 열에 함수 적용
함수가 단일 열을 따라 적용될 때 어떤 일이 발생하는지 살펴 보겠습니다.
import pandas as pd
import numpy as np
df = pd.DataFrame([[1, 2, 3], [4, 5, 6], [7, 8, 9]], columns=["A", "B", "C"])
print(df)
def add_2(x):
return x + 2
df["A"] = df["A"].apply(add_2)
print(df)
# or #
df["A"].transform(add_2)
print(df)
출력:
A B C
0 1 2 3
1 4 5 6
2 7 8 9
A B C
0 3 2 3
1 6 5 6
2 9 8 9
transform()
을 사용하여 Pandas DataFrame 열에 함수 적용
transform()
메서드를 사용하여 데이터 프레임 열에 함수를 적용하는 방법을 살펴 보겠습니다. 위와 동일한 예제 데이터 프레임을 사용합니다.
전체 DataFrame에 함수를 적용하는 예제 코드는 다음과 같습니다.
import pandas as pd
import numpy as np
df = pd.DataFrame([[1, 2, 3], [4, 5, 6], [7, 8, 9]], columns=["A", "B", "C"])
print(df)
def add_2(x):
return x + 2
df = df.transform(add_2)
print(df)
출력:
A B C
0 1 2 3
1 4 5 6
2 7 8 9
A B C
0 3 4 5
1 6 7 8
2 9 10 11
위에서 볼 수 있듯이 함수는 전체 데이터 프레임에 적용될 수 있습니다.
단일 열에 함수 적용
함수가 단일 열을 따라 적용될 때 어떤 일이 발생하는지 살펴 보겠습니다.
import pandas as pd
import numpy as np
df = pd.DataFrame([[1, 2, 3], [4, 5, 6], [7, 8, 9]], columns=["A", "B", "C"])
print(df)
def add_2(x):
return x + 2
df["A"] = df["A"].transform(add_2)
print(df)
출력:
A B C
0 1 2 3
1 4 5 6
2 7 8 9
A B C
0 3 2 3
1 6 5 6
2 9 8 9