> 백엔드 개발 > 파이썬 튜토리얼 > 팬더의 `df[&#column&#] = 표현식` 구문에 대한 설명

팬더의 `df[&#column&#] = 표현식` 구문에 대한 설명

Patricia Arquette
풀어 주다: 2025-01-10 09:13:46
원래의
131명이 탐색했습니다.

Explanation of the syntax `df[

Pandas df['column'] = expression 구문 세부 설명: Pandas DataFrame(df)에서 열을 생성, 수정 또는 할당하는 데 사용됩니다. 기본부터 고급까지 단계별로 분석해 보겠습니다.


기본

1. 새 열 만들기

  • DataFrame에 열이 없는 경우 df['column']에 값을 할당하면 새 열이 생성됩니다.

  • :

    <code class="language-python">  import pandas as pd
      df = pd.DataFrame({'A': [1, 2, 3]})
      print(df)
      # 输出:
      #    A
      # 0  1
      # 1  2
      # 2  3
    
      # 创建一个新列 'B',所有值都设置为 0
      df['B'] = 0
      print(df)
      # 输出:
      #    A  B
      # 0  1  0
      # 1  2  0
      # 2  3  0</code>
    로그인 후 복사

2. 기존 열 수정

  • 열이 이미 존재하는 경우 할당으로 해당 내용이 대체됩니다.

  • :

    <code class="language-python">  df['B'] = [4, 5, 6]  # 替换列 'B' 中的值
      print(df)
      # 输出:
      #    A  B
      # 0  1  4
      # 1  2  5
      # 2  3  6</code>
    로그인 후 복사

중급

3. 표현 기반 과제

  • 계산 또는 변환을 기반으로 열에 값을 할당할 수 있습니다.

  • :

    <code class="language-python">  df['C'] = df['A'] + df['B']  # 创建列 'C' 为 'A' 和 'B' 的和
      print(df)
      # 输出:
      #    A  B   C
      # 0  1  4   5
      # 1  2  5   7
      # 2  3  6   9</code>
    로그인 후 복사

4. 조건부 할당을 사용하세요

  • 조건부 할당에 Pandas의 부울 인덱싱을 사용할 수 있습니다.

  • :

    <code class="language-python">  df['D'] = df['A'].apply(lambda x: 'Even' if x % 2 == 0 else 'Odd')
      print(df)
      # 输出:
      #    A  B   C     D
      # 0  1  4   5   Odd
      # 1  2  5   7  Even
      # 2  3  6   9   Odd</code>
    로그인 후 복사

5. 표현식에 여러 열 사용

  • 더 복잡한 계산을 위해 하나의 표현식에 여러 열을 사용할 수 있습니다.

  • :

    <code class="language-python">  df['E'] = (df['A'] + df['B']) * df['C']
      print(df)
      # 输出:
      #    A  B   C     D    E
      # 0  1  4   5   Odd   25
      # 1  2  5   7  Even   49
      # 2  3  6   9   Odd   81</code>
    로그인 후 복사

고급장

6. 벡터화 작업

  • 숫자 할당에서는 벡터화 연산을 사용하여 성능을 향상할 수 있습니다.

  • :

    <code class="language-python">  df['F'] = df['A'] ** 2 + df['B'] ** 2  # 快速向量化计算
      print(df)
      # 输出:
      #    A  B   C     D    E   F
      # 0  1  4   5   Odd   25  17
      # 1  2  5   7  Even   49  29
      # 2  3  6   9   Odd   81  45</code>
    로그인 후 복사

7. 조건부 논리 할당에는 np.where을 사용하세요

  • 조건부 할당에 NumPy를 사용할 수 있습니다.

  • :

    <code class="language-python">  import numpy as np
      df['G'] = np.where(df['A'] > 2, 'High', 'Low')
      print(df)
      # 输出:
      #    A  B   C     D    E   F     G
      # 0  1  4   5   Odd   25  17   Low
      # 1  2  5   7  Even   49  29   Low
      # 2  3  6   9   Odd   81  45  High</code>
    로그인 후 복사

8. 외부 함수를 사용하여 값 할당

  • 행이나 열에 적용된 사용자 정의 함수를 기반으로 열에 값을 할당합니다.

  • :

    <code class="language-python">  def custom_function(row):
          return row['A'] * row['B']
    
      df['H'] = df.apply(custom_function, axis=1)
      print(df)
      # 输出:
      #    A  B   C     D    E   F     G   H
      # 0  1  4   5   Odd   25  17   Low   4
      # 1  2  5   7  Even   49  29   Low  10
      # 2  3  6   9   Odd   81  45  High  18</code>
    로그인 후 복사

9.체인 운영

  • 여러 작업을 함께 연결하여 코드를 더욱 간결하게 만들 수 있습니다.

  • :

    <code class="language-python">  df['I'] = df['A'].add(df['B']).mul(df['C'])
      print(df)
      # 输出:
      #    A  B   C     D    E   F     G   H    I
      # 0  1  4   5   Odd   25  17   Low   4   25
      # 1  2  5   7  Even   49  29   Low  10   49
      # 2  3  6   9   Odd   81  45  High  18   81</code>
    로그인 후 복사

10. 한 번에 여러 열 할당

  • 한 번의 호출로 여러 열을 생성하거나 수정하려면 assign()을 사용하세요.

  • :

    <code class="language-python">  df = df.assign(
          J=df['A'] + df['B'],
          K=lambda x: x['J'] * 2
      )
      print(df)
      # 输出:
      #    A  B   C     D    E   F     G   H    I   J   K
      # 0  1  4   5   Odd   25  17   Low   4   25   5  10
      # 1  2  5   7  Even   49  29   Low  10   49   7  14
      # 2  3  6   9   Odd   81  45  High  18   81   9  18</code>
    로그인 후 복사

전문가

11. 동적 열 할당

  • 외부 입력을 기반으로 열 이름을 동적으로 생성합니다.

  • :

    <code class="language-python">  columns_to_add = ['L', 'M']
      for col in columns_to_add:
          df[col] = df['A'] + df['B']
      print(df)</code>
    로그인 후 복사

12. 외부 데이터 할당 사용

  • 외부 DataFrame 또는 사전을 기반으로 열에 값을 할당합니다.

  • :

    <code class="language-python">  mapping = {1: 'Low', 2: 'Medium', 3: 'High'}
      df['N'] = df['A'].map(mapping)
      print(df)
      # 输出:
      #    A  B   C     D    E   F     G   H    I   J   K      N
      # 0  1  4   5   Odd   25  17   Low   4   25   5  10    Low
      # 1  2  5   7  Even   49  29   Low  10   49   7  14  Medium
      # 2  3  6   9   Odd   81  45  High  18   81   9  18   High</code>
    로그인 후 복사

13. 성능 최적화:

  • 값을 할당할 때 Pandas의 내장 함수(apply, 벡터화된 작업)를 사용하면 Python 루프보다 성능이 더 좋습니다.

요약

df['column'] = expression 구문은 Pandas의 핵심 기능이며 다양한 용도로 사용됩니다. 다음이 허용됩니다:

  • DataFrame에서 열을 추가, 수정, 조작합니다.
  • 조건 기반 논리 및 다중 열 변환을 포함한 복잡한 계산을 수행합니다.
  • 체인 작업을 수행하고 새 열을 동적으로 생성합니다.

이로 인해 Pandas는 강력한 데이터 조작 및 분석 라이브러리가 됩니다.

위 내용은 팬더의 `df[&#column&#] = 표현식` 구문에 대한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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