pandas | Series와 Dataframe에서 Broadcasting

2023. 2. 13. 19:05·TIL/python

다음과 같은 dataframe과 series가 있다.

이 예시는 dataframe의 columns와 Series의 index가 a, b, c, d로 같은 경우이다.

df=DataFrame(np.arange(16).reshape(4,4), columns=list('abcd'))
df
s=Series(range(10,14),index=list('abcd'))
s

이때, df와 s를 + 연산을 사용한 결과는 다음과 같다.

 Dataframe의 column에 해당하는 Series의 index를 가지는 값을 해당 column에 더한다.

즉, s에서 인덱스 a에 해당하는 값인 10을 df의 a열에 한 번에 더한다.

한 번에 더하는 이 과정을 브로드 캐스팅(broadcasting)이라 한다.

 

+ 대신 add 메소드를 사용해도 같은 결과가 출력된다.

출력 결과를 통해 add 메소드의 axis 기본 값은 axis=1(열 방향)임을 알 수 있다.

 

그렇다면, dataframe의 columns와 Series의 index가 다른 경우에는 어떤 결과가 나올까

s2에는 index를 따로 지정해주지 않았으므로 0부터 순서대로 index가 매겨진다.

df=DataFrame(np.arange(16).reshape(4,4), columns=list('abcd'))
df
s2=Series(range(10,14))
s2

df와 s2에 + 연산을 사용하면 NaN이 출력된다.

이유는 index와 column이 다르기 때문에 더하기(+) 연산을 할 수 있는 값이 없기 때문이다.

출력 결과를 보면 s2의 인덱스인 0,1,2,3이 column 자리에 위치하고 있는 것을 볼 수 있고, 이를 통해 + 연산은 series의 index와 dataframe의 column이 같을 때 가능함을 알 수 있다.

add 메소드를 사용하면 원하는 결과를 구할 수 있다.

이 경우에는 dataframe의 index와 series의 index가 같이 때문에 열방향이 아닌 행방향(axis=0)으로 연산해야 하며, 브로드캐스팅이 발생한다.

 

저작자표시 (새창열림)
'TIL/python' 카테고리의 다른 글
  • python | 파이썬 find() 함수 사용 및 index()와 차이점
  • python | 파이썬에서 순열과 조합 사용하기
  • python | sympy 설치 및 사용
  • python | list에서 remove 사용 시 주의할 점
dduniverse
dduniverse
  • dduniverse
    dduniverse
    dduniverse
  • 전체
    오늘
    어제
    • 분류 전체보기 (245)
      • Algorithm (123)
        • 알고리즘 이론 (8)
        • 백준 (19)
        • 프로그래머스 (83)
        • 구름 알고리즘 먼데이 챌린지 (13)
      • 빅데이터분석기사 (10)
        • 통계 (4)
        • 실기 (6)
      • KT에이블스쿨 (26)
      • FrontEnd (11)
        • React (5)
        • 기타 (6)
      • BackEnd (18)
        • Django (15)
        • Spring (3)
      • DS & ML (11)
        • Machine Learning (9)
        • Kaggle (2)
      • TIL (46)
        • python (22)
        • javascript (3)
        • 오류해결 (10)
        • 기타 (10)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 관리
    • 글쓰기
  • 링크

  • 인기 글

  • hELLO· Designed By정상우.v4.10.0
dduniverse
pandas | Series와 Dataframe에서 Broadcasting

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.