안녕하세요 이번 포스팅은 Python의 Pandas 패키지를 이용한 DataFrame 함수를 활용하는 방법 중에 Seriese를 이용한 Data 테이블하는 방법과 DataFrame화한 Data에 추가 Column 및 그 Column에 Data를 추가하는 방법, 그리고 사칙 연산까지 구현해보도록 하겠습니다.
DataFrame을 위한 Source Data 구현하기
: 일단 DataFrame을 구현하기 위한 Source Data를 구현해보도록 하겠습니다. 이전 포스팅에서 설명 드린 것처럼 DataFrame을 구현하기 위해서는 Dictionary로 구현되어 있는 Data Source가 필요합니다. 아래와 같이 예시 Data를 구현해보도록 하겠습니다.
# 필요한 패키지를 먼저 선언을 합니다.
import pandas as pd
import numpy as np
# 예시 Source Data를 구현하여, pandas를 이용하여 DataFrame화 시키는 코드입니다.
data = {"names": ["Kim", "Park", "Jang", "Kim", "MC-Yoo"],
"NumberofYear" : [2014, 2015, 2017, 2018, 2019],
"Value": [90, 86, 77, 99, 75]}
df = pd.DataFrame(data, columns=["names", "NumberofYear", "Value", "remarks"],
index=["first_row", "second_row", "third_row", "forth_row", "fifth_row"])
위의 Data Source 및 DataFrame 과 별개로 Series로 Data 테이블을 구현하는 방법에 대해서 추가적으로 설명 드리도록 하겠습니다. 아래 코드를 참조 하시면 됩니다.
# Seriese를 이용해서 간단하게 Data Table을 만들 수 있습니다. DataFrame과 달리 Column 지정이 불가능합니다.
val = pd.Series([-1.2, -1.5, -1.7], index=['two','four','five'])
print(val)
print()
위 코드를 구동을 시켜 보면 아래와 같이 출력값이 출력이 되는 걸 확인 하실 수 있습니다. 위에 설정한 Index에 맞게 관련 Data가 출력이 된 것입니다. 단점이라고 하면, Column을 지정할 수가 없습니다.
two -1.2
four -1.5
five -1.7
dtype: float64
▼ Serise에 대해서 추가적으로 공부하시고 싶은 분은 관련 내용은 구글에서 검색하시면 바로 찾으실 수 있습니다.
기 구현한 DataFrame Data에 Column 추가 하기
: 위에서 DataFrame 화한 Data에 추가적으로 Column을 추가하고 그 Column에도 Value를 추가하는 방법에 대해서 설명 드리도록 하겠습니다. 의외로 간단한 코드로 구현이 가능합니다. 일단 제가 구현할 코드는 특정 Column 에 0~4의 숫자를 Value 값으로 입력할 예정입니다. 코드는 아래와 같습니다.
# 추가적인 열(test01_data)을 추가해서 np.arange()를 이용하여 순차적인 숫자를 입력이 가능합니다.
df['test01_data'] = np.arange(5)
# 추가한 열이 입력한 DataFrame을 호출하면 아래와 같이 출력이 되는 걸 확인 하실 수 있습니다.
print(df)
print()
위의 코드를 구현을 해보시면 아래와 같이 출력이 되는 걸 확인 하실 수 있습니다. 비교를 위해 Column 추가 전과 추가 후에 대해서 따로 결과 값을 보여드리도록 하겠습니다.
1) Column (test01_data) 추가 전
names NumberofYear Value remarks
first_row Kim 2014 90 NaN
second_row Park 2015 86 NaN
third_row Jang 2017 77 NaN
forth_row Kim 2018 99 NaN
fifth_row MC-Yoo 2019 75 NaN
2) Column (test01_data) 추가 후
names NumberofYear Value remarks test01_data
first_row Kim 2014 90 NaN 0
second_row Park 2015 86 NaN 1
third_row Jang 2017 77 NaN 2
forth_row Kim 2018 99 NaN 3
fifth_row MC-Yoo 2019 75 NaN 4
▼ 위 코드를 공부해보시고, numpy를 이용하거나 직접 value 값도 assign 할 수 있으니, 직접 코드를 짜보시길 권장드립니다.
기 구현한 DataFrame Data 를 이용하여 사칙계산 하기
: 그럼 이제는 기 DataFrame한 Data를 이용하여 사칙계산하는 방법에 대해서 코드를 구현해보도록 하겠습니다. 일단 사칙 계산을 할 Column 2개를 설정을 하는데, 저는 'Value' Column 와 위에 설명드린 코드를 통해서 추가한 'test01_data' Column 를 이용하여 사칙계산을 해보도록 하겠습니다. 코드는 'Value' Column 에서 'test01_data' Column 의 값을 빼는 걸로 구현하고, 그 결과 값을 'result01'이라는 Column으로 추가 하도록 하겠습니다. 설명으로는 헷갈리 수 있으니까, 아래 코드를 보시면 이해가 빠르실겁니다.
# 열 사칙 계산, 'Value' Column에서 'test01_data' Column을 빼주는 계산 구현
# 'result01' 이라는 Column을 새로 만들어 그 Column에 해당 결과 값을 입력
print('=============== 사칙계산 ===============')
df['result01'] = df['Value'] - df['test01_data']
print(df)
print()
위 코드를 구현을 하면 아래와 같은 결과 값을 보실 수 있습니다. 위에서 설명 드린대로 결과 값을 맨 오른쪽에 추가하여 사칙계산이 구현이 되었고, 그 결과 값을 추가하였습니다.
================================ 사칙계산 ===============================
names NumberofYear Value remarks test01_data result01
first_row Kim 2014 90 NaN 0 90
second_row Park 2015 86 NaN 1 85
third_row Jang 2017 77 NaN 2 75
forth_row Kim 2018 99 NaN 3 96
fifth_row MC-Yoo 2019 75 NaN 4 71
▼ 위에서 설명 드린 내용이 헷갈리실 경우에는 구글이나 유튜브 동영상을 통해서 셀프 스터디도 가능합니다. 포기하지 마시고 여러 번 보는 것보다 한 번이라도 코드 구현하는 게 최곱니다.
이상입니다. 지금까지 Python의 Pandas 패키지를 이용하여, Seriese를 이용한 Data 테이블하는 방법과 DataFrame화 한 Data에 추가 Column 및 그 Column에 Data를 추가하는 방법, 그리고 사칙 연산까지 구현하는 내용으로 포스팅을 작성하였습니다. 최고의 프로그래머로 되는 길에 조금이나마 도움이 되었으면 좋겠습니다. 그럼 이만 마무리 하도록 하겠습니다. 감사합니다.
관련 다른 글
'파이썬 (Python) > Pandas' 카테고리의 다른 글
Python Panda 행 Data 추가 및 Boolean 값 출력하는 방법 (0) | 2021.04.19 |
---|---|
Python Panda Column 삭제 및 원하는 행 Data 출력 (0) | 2021.04.17 |
Python Panda DataFrame 에서 선별적으로 Data 출력하기 (0) | 2021.04.05 |
Python Pandas DataFrame Column과 Index 설정하는 방법 (0) | 2021.03.21 |
Python Pandas DataFrame 활용하기 (0) | 2021.03.20 |
댓글