더북(TheBook)

이번에는 2차원 배열 형태의 데이터 프레임 연산에 대해 살펴보겠습니다. 2차원 데이터는 행을 기준으로 계산할 수도 있고, 열(column)을 기준으로 계산할 수도 있습니다. 또 행과 열에 대한 연산을 동시에 할 때, 행 우선 계산과 열 우선 계산을 구분하여 생각해 볼 수 있습니다.

icon_wait

 

데이터 프레임의 행 우선 계산과 열 우선 계산

2차원 데이터일 경우 pandas에서는 기본적으로 행 방향을 축으로 계산합니다. 하지만 경우에 따라 열 방향을 축으로 계산하기도 합니다. 이때 열 방향을 축으로 계산하려면 axis를 1로 설정하면 됩니다(axis = 0은 행 방향을 나타내며 0이 기본 값입니다).

일반적으로 행렬이라는 단어를 자주 사용하므로 axis가 0이면 행 방향, axis가 1이면 열 방향을 축으로 삼아 계산한다고 기억하면 좋습니다.

예를 들어 설명하겠습니다. 다음과 같은 df라는 데이터 프레임이 있습니다. 여기에서 A, B, C, D열의 값을 합하여 E라는 열을 만들어보겠습니다.

 

이때 열 방향을 축으로 값을 더해야하기 때문에 axis를 1로 설정해야 합니다. 그래서 df['E'] = np.sum(df, axis=1)라는 코드를 실행하면 다음과 같이 E열이 추가됩니다.

 

A

B

C

D

E

1

0

1

2

3

6

2

4

5

6

7

22

3

8

9

10

11

38

 

사실 이것은 numpy의 기능인데 pandas에서도 동일하게 적용됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.