>백엔드 개발 >파이썬 튜토리얼 >여러 Pandas DataFrame 열에 사용자 정의 함수를 적용하여 새 열을 만들려면 어떻게 해야 합니까?

여러 Pandas DataFrame 열에 사용자 정의 함수를 적용하여 새 열을 만들려면 어떻게 해야 합니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-27 12:16:14774검색

How Can I Apply a Custom Function to Multiple Pandas DataFrame Columns to Create a New Column?

Pandas DataFrame의 여러 열에 함수 적용

여러 열과 사용자 지정 함수가 포함된 DataFrame이 있는 다음 상황을 고려해보세요. 해당 열에 요소별로 적용하여 새 항목을 만들고 싶습니다.

문제:

세 개의 열이 있는 DataFrame이 있다고 가정합니다:

df = pd.DataFrame({'ID':['1','2','3'], 'col_1': [0,2,3], 'col_2':[1,4,5]})

함수:

def get_sublist(sta, end):
    return mylist[sta:end+1]

목표는 get_sublist를 'col_1' 및 'col_2' 열에 적용하는 것입니다. df를 사용하여 'mylist'의 해당 하위 목록이 포함된 새 열 'col_3'을 얻습니다.

해결책:

이를 달성하려면 다음 Pandas 작업을 사용할 수 있습니다. :

df['col_3'] = df.apply(lambda x: get_sublist(x.col_1, x.col_2), axis=1)

다음은 code:

  • df.apply(): 지정된 함수 요소를 DataFrame의 각 행에 적용합니다.
  • lambda x: 단일 인수 x를 허용하는 익명 함수, DataFrame의 행을 나타냅니다.
  • x: 'col_1' 및 'col_2' 열의 값을 포함하는 DataFrame 행 객체 현재 반복에 대해.
  • get_sublist(x.col_1, x.col_2): 현재 행의 'col_1' 및 'col_2' 값을 사용하여 get_sublist 함수를 호출합니다.
  • axis=1 : 함수가 DataFrame의 각 행에 적용되어야 함을 지정합니다.

이 방법을 사용하면 결과 DataFrame의 구조는 다음과 같습니다.

  ID  col_1  col_2            col_3
0  1      0      1       ['a', 'b']
1  2      2      4  ['c', 'd', 'e']
2  3      3      5  ['d', 'e', 'f']

이 솔루션을 사용하면 모든 사용자 정의 함수를 apply() 메서드에 전달할 수 있습니다. 여러 열에 동시에 적용합니다. x.col_name을 통해 컬럼 값에 접근하면 컬럼 이름에 공백이 포함되어 있거나 기존 DataFrame 속성과 이름이 동일하더라도 안전하게 컬럼 이름을 사용할 수 있습니다.

위 내용은 여러 Pandas DataFrame 열에 사용자 정의 함수를 적용하여 새 열을 만들려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.