Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 Pandas에서 기존 열을 활용해 데이터프레임에 새 열 추가하는 방법

데이터프레임(DataFrame)은 2차원 데이터 구조로, 데이터를 행과 열로 이루어진 표 형태로 저장합니다. SQL 데이터 테이블이나 엑셀 시트와 유사한 형태로 시각화할 수 있습니다.

데이터프레임은 다음과 같은 생성자를 사용하여 만들 수 있습니다.

pd.DataFrame(data, index, columns, dtype, copy)

앞서 살펴본 방법에서는 새로운 열을 Series 데이터 구조로 생성한 뒤 원본 데이터프레임에 인덱싱하여 추가했습니다. 이번에는 이미 존재하는 열들을 활용해 새로운 열을 만드는 방법을 알아보겠습니다. 이 방법은 기존 열에 대해 연산을 수행하고 그 결과를 새로운 열에 저장해야 할 때 특히 유용합니다.

예제 코드

import pandas as pd
my_data = {'ab' : pd.Series([1, 8, 7], index=['a', 'b', 'c']),
'cd' : pd.Series([1, 2, 0, 9], index=['a', 'b', 'c', 'd']),
'ef' :pd.Series([56, 78, 32],index=['a','b','c'])}
my_df = pd.DataFrame(my_data)
print("The dataframe is :")
print(my_df)
my_df['gh'] = my_df['ab'] + my_df['ef']
print("After adding column 0 and 2 to the dataframe, :")
print(my_df)

출력 결과

The dataframe is :
    ab   cd   ef
a  1.0    1  56.0
b  8.0    2  78.0
c  7.0    0  32.0
d  NaN    9  NaN
After adding column 0 and 2 to the dataframe, :
    ab   cd   ef    gh
a  1.0    1  56.0  57.0
b  8.0    2  78.0  86.0
c  7.0    0  32.0  39.0
d  NaN    9   NaN   NaN

코드 설명

  • 필요한 라이브러리를 임포트하고, 사용 편의성을 위해 별칭(alias)을 지정합니다.

  • 키(key)와 값(value)으로 구성된 딕셔너리를 생성하며, 여기서 값은 실제로 Series 데이터 구조입니다.

  • 이러한 딕셔너리 항목을 여러 개 생성합니다.

  • 생성된 딕셔너리는 'pandas' 라이브러리의 'DataFrame' 함수에 매개변수로 전달됩니다.

  • 딕셔너리를 매개변수로 넘겨 데이터프레임이 생성됩니다.

  • 데이터프레임에 새로운 열 'gh'가 추가되며, 이 열은 첫 번째 열('ab')과 세 번째 열('ef')의 값을 더한 결과로 채워집니다.

  • 최종 데이터프레임이 콘솔에 출력됩니다.

참고 - 'NaN'은 'Not a Number'의 약자로, 해당 [행, 열] 위치에 유효한 값이 없다는 것을 의미합니다. 위 예제에서 인덱스 'd'에는 'ab'와 'ef' 열의 값이 존재하지 않기 때문에, 두 열을 더해 만든 'gh' 열의 값 역시 NaN으로 표시됩니다.