Python을 활용한 데이터 분석 #1

이온·2023년 6월 24일
0

Python

목록 보기
1/4
post-thumbnail

1. Python

Python

: 대화식 프로그래밍 언어

  • 인간의 사고 방식처럼 표현하는 문법 구조
  • 비전공자를 위한 프로그래밍 교육, 실무에 많이 사용
  • C언어로 구현된 범용 프로그래밍 언어
  • 웹 프로그래밍, DB, 인공지능 등 다양한 분야의 프로그램 작성

사용 도구

Google Colab
Pycham

객체지향 프로그래밍

클래스에서 정의한 객체를 상호 연결해 문제를 해결하는 과정

객체(Object)

컴퓨터 과학에서 객체 또는 오브젝트(object)는
1. 클래스에서 정의한 것을 토대로 메모리(실제 저장공간)에 할당된 것.
2. 프로그램에서 사용되는 데이터 또는 식별자에 의해 참조되는 공간을 의미
3. 변수, 자료 구조, 함수 또는 메소드가 될 수 있다.

객체(Object)의 구성요소

자신의 데이터를 가지고 필요한 처리를 스스로 수행하는 연관된 정보(변수, 함수)들의 묶음

속성(Attribute)

자신의 상태를 표현하는 정적인 성질

행위(Behavior)

객체 내부 혹은 다른 객체와 상호작용하는 행위

클래스(Class)

• 공통의 속성을 갖되, 서로 다른 속성값을 지니면서, 공통의 행위를 수행하는 같은 종류의 객체를 생성하기 위해 정의되는 틀

모듈

• 전역변수, 함수, 클래스 등을 모아놓은.py 확장자를 가진 파일
• 다른 파이썬 파일에서 모듈module01를 import 명령어를 이용해 불러올 수 있다.

패키지(라이브러리)

• 모듈을 모아놓은 폴더

2. 자료구조(List,Tuple), for 반복문

자료형(Data Type)

: 하나의 값을 나타내는 데이터의 유형

  • 기본 자료형 (데이터 하나): 정수형 실수형 복소수형 논리형 문자열
  • 복합 자료형(다수의 데이터 묶음): 리스트 튜플 딕셔너리 집합

문자열(Character String)

• 문자 혹은 문자들의 묶음. 정의된 이후엔 변경되지 않는 불변객체인 데이터
• 같은 종류의 따옴표로 감싸진 문자들
• 따옴표는 문자열의 시작과 끝을 표시하고,문자열 데이터에 포함되지 않는다.

문자열 조작 : 인덱싱(Indexing)

• 문자열을 구성하는 문자들의 순번 (인덱스값)에 따라 해당 문자를 얻어오는 연산
• 첫번째 문자에 대한 인덱스 값이 0번
• 마지막 문자는 -1로 시작,왼쪽으로 하나씩 이동(3글자인 경우-3,-2,-1)

문자열 조작 : 슬라이싱(Slicing)

• 범위 표현으로 문자열을 구성하는 부분 문자열을 얻는 연산
• 문자열의 시작 인덱스부터 끝 인덱스 이전까지 부분문자열

문자열 메서드

• 문자열은 객체이고, 메서드는 객체에 대해 호출되는 함수
• 호출형태

문자열.메서드이름(인수)

• upper() & lower() 메서드 : 문자열 내의 알파벳을 모두 대문자 / 소문자로 변환

문자열.upper(인수) 문자열.lower(인수)

• replace 메서드: 문자열 내의 특정 문자열을 다른 문자열로 대체

문자열.replace(찾을_문자열, 새_문자열 )

• startswith 메서드: 특정 문자열로 시작하는 경우 True, 아니면 False 반환

문자열.startswith(‘특정문자열’)

• Split 메서드: 구분자를 기준으로 문자열을 구분하여 잘라서 리스트로 반환

문자열.split('구분자')

리스트(List)

: 저장 순서가 있는 변수들의 묶음
• 다수의 데이터를 모아 하나의 이름으로 저장
• 순번에 따라 각 데이터에 접근해, 주어진 작업을 수행하기 위해 사용하는 복합 자료형
• 반복문과 함께 사용하면 효율적으로 데이터에 접근할 수 있다.
• n개의 요소(element)를 갖는 리스트 선언문

리스트이름=[값1, 값2, ..., 값n]

리스트 조작 : 인덱싱(Indexing)

• 유효한순번에따라각요소데이터를개별적으로선택해접근가능

리스트이름[접근할 요소의 인덱스]

리스트 조작 : 슬라이싱 (Slicing)

• 범위를지정해서리스트를구성하는일부요소를또다른리스트로생성하는연산

#시작 ~ (끝 인덱스-1) 사이의 부분 리스트 
리스트이름[시작인덱스:끝인덱스]

리스트 내장함수 : len()

• 리스트를 인수로 전달받는 내장함수
• 리스트에 포함된 데이터의 개수를 확인할 때 사용

Len(리스트이름)

리스트 내장함수 : sorted()

• 리스트의 요소를 정렬하는 내장함수
• 기본값은 오름차순, reverse=True 옵션을 지정하면 내림차순 정렬


sorted(리스트이름) 
sorted(리스트이름, reverse=Ture) 
#key : abs 함수  
sorted(리스트이름, key=abs)

리스트 메서드 : append()

• 리스트에 새로운 요소를 추가할때 사용하는 메서드
• 인수로 지정한 데이터를 리스트의 맨 마지막 요소에 추가

리스트이름.append()

For 반복문

• 지정된 횟수만큼 반복하거나, 일정 범위를 일정한 간격으로 증감하며 반복
• For문의 기본구조

For 변수 in 범위 표현식 :
수행할 문장

• 범위표현식에 기술된 표현식에서 하나씩 순차적으로 변수에 전달해 수행할 문장이 반복해서 실행됨
• 지정된 범위를 반복
• 시작값부터 끝값 전까지, 증감 값만큼 변경된 수를 순차적으로 생성

For 변수 in range(start, stop, step): 수행할 문장

• 리스트를 범위로 활용 가능

For 변수 in list: 수행할 문장

튜플(Tuple)

• 리스트와 유사한 복합 자료형
• 한번 정의된 이후, 튜플에 포함된 요소를 수정, 삭제가 불가능하다
• 튜플에 새 요소를 추가할 수 없다.
• n개의요소(element)를 갖는 튜플 선언문

튜플이름=(1,2, ..., 값n)

• 리스트와 같은 방식으로 인덱싱, 슬라이싱 가능
• 튜플이 정의된 후 요소를 수정하거나, 추가할 수 없지만 연결은 가능

새로운튜플이름 = 튜플1 + 튜플2 
새로운튜플이름 = 튜플 * 반복 수

3. 파일입/출력 & 간단한 시각화

• Pandas 라이브러리를 활용해 csv 파일을 데이터 프레임으로 읽어올 수 있다.
• 판다스 라이브러리 호출

Import pandas as pd

• 특정 경로에 저장된 csv 파일을 데이터 프레임으로 생성

infor2020 = pd.read_csv('/content/drive/health_infor2020.csv')

4. 데이터 시각화 : matplotlib 라이브러리 활용

• Matplotlib : Numpy 배열을 기반으로 만들어진 다중 플랫폼 데이터 시각화 라이브러리
• 다양한 운영체제에서 사용 가능하고, 출력 형식도 다양
• Matplotlib & numpy 라이브러리 호출

import numpy as np
Import matplotlib as mpl
or
import matplotlib.pyplot as plt

• 데이터 프레임에 저장된 특정 칼럼을 리스트 or 배열로 저장

age=list(infor2020['AGE_GROUP'])
or age=np.array(infor2020['AGE_GROUP'])

• 히스토그램 그리기

plt.hist(age,bins=18,color='#800080')

업로드중..

profile
👩🏻‍💻

0개의 댓글