03.09-Pivot-Tables

Yeeun·2025년 4월 29일

Python

목록 보기
24/31

notebooks/03.09-Pivot-Tables.ipynb

[['survived']]와 같이 두 개의 대괄호를 사용하는가?

Pandas에서 DataFrame의 특정 열을 선택할 때 [['survived']]와 같이 두 개의 대괄호를 사용하는 이유는 DataFrame을 유지하기 위해서입니다. 이를 좀 더 자세히 설명하겠습니다.

1. 단일 대괄호 (['survived']) 사용 시

단일 대괄호를 사용하면 Series를 반환합니다. Series는 DataFrame의 한 열을 선택한 것이며, 1차원 배열처럼 동작합니다.

예시:

titanic['survived']

이 코드는 survived 열을 Series로 반환합니다.

2. 이중 대괄호 ([['survived']]) 사용 시

이중 대괄호를 사용하면 DataFrame을 반환합니다. DataFrame은 2차원 데이터 구조이며, 하나의 열만 있더라도 이를 DataFrame 형태로 유지할 수 있습니다.

예시:

titanic[['survived']]

이 코드는 survived 열을 DataFrame 형태로 반환합니다.

왜 두 개의 대괄호를 사용할까?

  1. DataFrame 구조 유지:
    groupby와 같은 함수에서는 결과를 DataFrame으로 유지하는 것이 중요합니다. 만약 단일 대괄호 (['survived'])를 사용하면, groupby 결과가 Series로 반환될 수 있습니다. 이는 우리가 의도한 결과와 다를 수 있습니다.

  2. 일관성:
    [['survived']]를 사용하면 결과가 항상 DataFrame으로 유지되기 때문에, 추가적인 조작을 하거나 후속 작업을 진행할 때 일관성을 유지할 수 있습니다.

예시:

  1. 단일 대괄호 (['survived']) 사용:

    titanic.groupby('sex')['survived'].mean()

    이 코드는 Series를 반환하며, sex를 인덱스로 하고 survived의 평균 값을 보여줍니다.

  2. 이중 대괄호 ([['survived']]) 사용:

    titanic.groupby('sex')[['survived']].mean()

    이 코드는 DataFrame을 반환하며, sex를 인덱스로 하고 survived의 평균 값이 survived 열로 포함된 DataFrame을 반환합니다.

결론:

  • ['survived']Series를 반환합니다.
  • [['survived']]DataFrame을 반환합니다.

이중 대괄호를 사용하면 결과가 항상 DataFrame 형태로 유지되므로, 후속 작업에서 일관성을 유지할 수 있습니다. 이를 통해 더 복잡한 데이터 조작이 필요할 때 유용합니다.

0개의 댓글