데이터 분석을 위한 파이썬 기초문법 Top 10
ChatGPT로 데이터 분석을 해 본 분들은 아시겠지만 ChatGPT는 사용자가 (자연어) 말을 하면 파이썬으로 코드를 작성해서 실행하고 그 결과를 사용자에게 다시 설명해주는 방식인데요. ChatGPT 데이터 분석 환경인 코드 인터프리터에 대해서는 지난 영상들을 통해 설명 드린 바 있습니다.
코드 인터프리터 = 파이썬을 실행하고 결과를 반환하는 환경
물론 이런 방식이나 환경에 대해서만 이해하셔도 ChatGPT로 데이터 분석을 하는 게 가능하지만 여기에 파이썬의 기본적인 문법과 라이브러리들을을 알면 ChatGPT가 지금 뭘하고 있는지 파악하고 명령어도 조금 더 효과적으로 입력할 수 있을텐데요.
이번 글에서는 파이썬 핵심 문법 10가지를 소개해 보도록 하겠습니다. 파이썬 공부를 시작하신 분 혹은 시작하시려는 분들은 주목해 주세요!
첫 번째는 변수 할당입니다. 변수에 값을 할당하고 계속해서 그 변수를 사용하는 방법인데요. 예를 들어, x에 2를 할당하고 y에 10을 할당하면 다음과 같은 연산 결과가 출력됩니다.
이번에는 x에 'Hello'를 할당하고 다시 x와 y를 곱한 값을 출력해 볼께요. 'Hello'라는 문자열이 10번 반복되는데요.
이렇게 변수에 값을 할당하면, 재할당되지 않는 한 같은 코드에서 계속 같은 값을 의미하는데요. 값을 직접 사용하지 않고 변수를 사용하면 코드 중복을 줄일 수 있습니다. 또한, 변수 이름에 의미를 부여해서 사용하면 코드 가독성이 높아지고 유지 보수가 쉬워집니다. 해당 변수가 무엇을 의미하는지 확인하려면 이전 코드를 거슬러 올라가 살펴봐야 할 때도 있구요.
파이썬에는 여러가지 데이터 타입이 있는데요. 주요 데이터 타입으로는 문자열, 숫자형, 불린형 등이 있습니다. 문자열(String)은 앞서 본 'Hello'나 'Hi' 같은 문자들을 의미하는데요. 문자열은 작은따옴표('')나 큰따옴표("")로 묶어 표현합니다.
숫자형(Number)에는 정수형(Integer)과 실수형(Float)이 있는데요. 정수형은 소수점이 없는 숫자고, 실수형은 소수점이 있는 숫자입니다. 불린형(Boolean)은 참(True) 또는 거짓(False) 값을 가지는 데이터 타입인데 논리연산이나 조건문에서 주로 사용되요.
데이터 타입에 따라 작동하는 함수가 달라질 수 있기 때문에 이러한 데이터 타입들이 있다 정도 알아두시면 좋을 것 같습니다.
우리가 흔히 하는 것처럼 덧셈, 뺄셈, 곱셈, 나눗셈 기호 있잖아요. 파이썬에도 그 기호를 그대로 사용하면 됩니다. 단지, //는 나눗셈 후 몫만 반환하고 %는 나머지만 반환하는 기호라는 게 좀 새로운 사실인데요.
네 번째는 시퀀스 데이터 타입입니다. 시퀀스 데이터 타입은 여러 개 데이터를 순서대로 저장하는 데이터 저장 방식인데요. 주요 시퀀스 데이터 타입으로는 리스트, 튜플, 딕셔너리, 세트가 있습니다.
리스트는 대괄호 안에 여러 데이터 저장하며 수정, 추가, 삭제 가능하고 중복된 값을 허용합니다.
튜플은 소괄호를 이용해 생성하는데 수정이나 삭제 추가가 불가능해요. 수정 불가능한 불변의 데이터 타입으로 저장하고 싶을 때 사용합니다.
딕셔너리는 중괄호 { }를 사용해서 생성하는데 키와 값으로 구성되어 있습니다. 역시 수정이나 삭제, 추가가 가능하구요. 키를 사용해 값을 빠르게 검색할 수 있어 데이터 저장에 많이 사용되는 타입입니다.
세트는 중복된 값을 허락하지 않는 데이터 타입이구요.
조건문은 특정 조건에 따라 프로그램의 흐름을 제어할 수 있는 방법인데요. if 구문을 사용하면 그 조건이 참일 때만 코드가 실행되조.
if에 else를 추가하면 조건이 참일 때와 거짓일 때 각기 다른 코드를 실행할 수 있는데요. 아래 예시에서는 x가 5보다 작아서, 즉 거짓이여서 else 이하 코드가 실행되었습니다.
여섯 번째는 반복문인데요. 특정 코드를 여러 번 반복해 실행할 때 사용욉니다.
파이썬에서는 for와 while 구문을 사용해서 반복문을 작성할 수 있는데요. 먼저 for는 지정된 횟수만큼 반복하거나 리스트나 튜플 같은 시퀀스 데이터의 각 요소에 대해 동작을 반복할 때 사용합니다.
While 구문은 조건이 참일 때 계속해서 반복적으로 코드를 실행하고, 조건이 거짓이 되면 반복이 종료됩니다.
for 구문 내에서 if 구문을 결합해서 사용할 수 있는데요. 이 경우 반복되는 각 요소에 대해 조건이 참일 때만 특정 코드를 실행할 수 있습니다.
예를 들어, 다음과 같은 딕셔너리 형태의 고객 데이터셋이 있다고 하면 여기서 모든 고객에 대해 is_active 조건을 확인하고 is_active가 참인 경우만 고객 이름과 나이가 출력되게 됩니다. 그래서 Alice와 Charlie의 이름과 나이가 출력되는데요.
함수는 앞서 본 것처럼 데이터를 출력하기 위한 print 함수, 리스트에 요소를 추가하고 삭제하기 위한 append, remove 등 파이썬의 내장 함수가 있구요, 그 외 다양한 상황에서 반복적인 작업을 처리하기 위한 커스텀 함수를 만들어 쓸 수 있습니다.
커스텀 함수 생성은 'def' 키워드로 시작하여 함수 이름과 인수, 그리고 함수 내용을 정의해서 사용하는데 이렇게 커스텀 함수를 사용함으로써 코드를 효율적으로 관리하고 재사용할 수 있어요.
def 함수이름(인자):
(함수내용)
아홉번째부터는 파이썬의 대표적인 데이터 분석 관련 라이브러리들을 소개하려고 하는데요. ChatGPT에게 파일을 업로드하면 ChatGPT가 파일을 읽어온 뒤 컬럼이나 행 등에 대해 분석을 진행할 수 있조?
데이터를 업로드하면 데이터를 테이블 형태로 보여주고 이 컬럼이나 행들에 대해 다양한 분석이나 조작이 가능하도록 다양한 함수를 지원하는 게 판다스(pandas) 라이브러리입니다.
판다스를 사용하기 위해서는 라이브러리를 임포트를 해야 하는데요. 코드 인터프리터에는 판다스 라이브러리가 설치되어 있어 불러오기(임포트)를 통해 판다스 라이브러리를 사용할 수 있습니다. 단 설치되지 않은 라이브러리들은 코드 인터프리터 환경이 인터넷 접속이 제한된 환경이라 설치해서 사용할 수 없습니다.
마지막으로 데이터를 시각화하기 위한 라이브러리인 맷플롯립(Matplotlib)과 씨본(Seaborn)을 소개할게요. 맷플롯립은 파이썬의 대표적인 데이터 시각화 라이브러리로, 선형 차트, 바 차트, 파이차트, 히스토그램 등 다양한 차트를 그릴 수 있습니다.
단, 맷플랏립으로 복잡한 시각화를 하려면 많은 기능들을 알아야 하는데 씨본은 이 복잡한 시각화를 좀 더 쉽게 할 수 있도록 만든 라이브러리인데요. ChatGPT로 데이터 분석하기- 시각화 편에서 씨본을 활용해 수치형, 범주형 컬럼별로 시각화 하는 방법과 컬러 팔레트 등을 설정하는 방법에 대해 간단히 소개 드린 바 있습니다. 필요하신 분들은 이 영상도 함께 보시면 ChatGPT에게 시각화에 관한 명령어를 좀 더 다양하게 구사하실 수 있을 거예요.
지금까지 파이썬 핵심문법 10가지를 정리해 봤는데요. 파이썬 공부를 시작하시는 분 또는 시작하신 지 얼마 안되는 분들께 도움이 되면 좋겠구요. 아시조? 공부하시다가 궁금한 게 있으시면 구글링을 해봐도 좋지만 ChatGPT한테 물어보면 된다는 거!
https://www.youtube.com/watch?v=1ul4N0jvnAI&t=193s