12주차 - 파이썬데이터분석

시유야·2023년 5월 17일
0
post-thumbnail

Python : C언어로 구현된 범용 프로그래밍 언어
웹 프로그래밍, DB, 인공지능 등 다양한 분야의 프로그램 작성

01 python preview

객체, 내장함수, 클래스, 모듈, 패키지

객체 지향 프로그래밍

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

객체(Object)

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

객체의 구성요소

  1. 속성 : 자신의 상태를 표현하는 정적인 성질 (a=2)
  2. 행위 : 객체 내부 혹은 다른 객체와 상호작용하는 행위 (넓이를 구하는 함수(r))
  3. 같은 속성, 다른속성값 : 속성값1 = 반지름 2cm인 원 (넓이를 구하는 함수(2))
  4. 미리 지정된 행위 : 외부 요청에 따라 객체는 미리 정해진 일을 스스로 처리

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

클래스(Class)

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

함수(Function)

  • 입력값에 따라 출력값을 만들어내는 블랙박스와 같다.

    클래스와 함수는 그럼 뭐가 다른거지?
    클래스 내부에 여러개의 함수가 포함될 수 있음.
    팥 붕어빵을 만들어내는 함수1,
    슈크림 붕어빵을 만들어내는 함수2,
    민초 붕어빵을 만들어내는 함수3

내장함수

  • 파이썬 내부에 호출 형태와 동작 내용이 미리 정의된 함수
    ex) print(a,b,c,'-',d)

메소드(Method)

함수와 비슷하지만,
메소드는 호출한다!! -> .메소드()

모듈

  • 전역변수, 함수, 클래스 등을 모아놓은 .py 확장자를 가진 파일
  • import 명령어를 이용해 다른 파이썬 파일(.py)을 불러올 수 있다.
import numpy as np
import pandas as pd
import matplotlib as mpl

패키지 (라이브러리)

  • 모율을 모아놓은 폴더

파이썬 자료구조

기본 자료형 (데이터 하나)

  • 정수형, 실수형, 복소수형, 논리형, 문자열

복합 자료형 (다수 데이터묶음)

  • 리스트, 튜플, 딕셔너리, 집합(set)

문자열

  • 문자 혹은 문자들의 묶음. 정의된 이후 변경되지 않는 불변 객체인 데이터

문자열 조작 : Indexing

  • 문자열에는 순서가 있음 -> 인덱스 0부터 시작함. 마지막문자는 -1로 시작.
    str[idx]

문자열 조작 : Slicing

  • 범위로 표현하여 부분 문자열을 얻을 수 있음. 리턴값이 문자열임
    str[시작인덱스 : 끝인덱스] -> 시작 이상 , 끝 미만!!!!

문자열 메서드

  • 문자열은 객체이다. 메서드는 객체에 의해 호출이 되는 함수이다.
    1. str.upper() -> 문자열 내의 알파벳을 모두 대문자로 변환
    1. str.lower() -> 문자열 내의 알파벳을 모두 소문자로 변환
    1. str.replace('찾을문자열', '새문자열') -> 찾을 문자열을 찾아서 새문자열로 대체
    1. str.startswith('특정문자열') -> 특정문자열로 시작하면 True, 아니면 False
    1. str.split('구분자') -> 구분자를 기준으로 문자열 잘라서 리스트로 반환해줌
    1. str.strip() -> 공백 문자열 제거해서 보여줌 ( str.strip().split('-'))

리스트

  • 저장 순서가 있는 변수들의 묶음 (다수의 데이터를 묶어 하나의 변수로 저장)
  • 순번에 따라 각 데이터에 접근해 주어진 작업을 수행하기 위해 사용하는 복합자료형
  • 반복문과 함께 사용시 효율적으로 데이터 접근 가능해서 많이 쓰임!
  • 한 리스트에 숫자형,문자열, 또다른 리스트 까지 모든 값을 가질 수 있음

리스트 조작 : Indexing

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

리스트 조작 : Slicing

  • 범위를 지정해서 리스트를 구성하는 일부 요소를 또 다른 리스트로!!! 리턴해줌
  • my_list[2:5]

리스트 내장함수 : len()

  • 리스트에 포함된 데이터의 개수를 확인할 때 사용
  • len(리스트이름)
    for문 돌리기 전에 몇번 돌아갈지 미리보기용으로 쓰임
    ex print(len(my_list))

리스트 내장함수 : sorted()

  • 리스트의 요소를 정렬
  • default = 오름차순,
  • 옵션 종류 : reverse=True (내림차순), key=abs (절대값으로 정렬)
  • 예 : print(sorted(my_list, reverse=true, key=abs)

리스트 메서드 : append()

  • 인수로 지정한 데이터를 리스트의 맨 마지막 요소에 추가 - 숫자, 문자열, 또다른 리스트 전부 가능
  • my_list.append(5)

for반복문

  • 지정된 횟수만큼 반복 or 일정 범위를 일정한 간격으로 증감하며 반복
for 변수 in [1,2,3,4,5] :
	print(변수)
    
for 변수 in range(start, stop, step):
	수행할 문장

튜플(tuple)

  • 리스트와 유사한 복합 자료형
  • 단, 한번 정의되면 수정, 삭제, 추가 불가능
  • 튜플끼리 연결은 가능 :
    새로운 튜플이름= 튜플1+튜플2 or 새로운 튜플이름= 튜플1 * 반복수
  • my_tuple=(1,2,3,4,'메리')
  • 리스트와 같은 방ㅇ식으로 인덱싱, 슬라이싱 가능
profile
i'm happy enough.

0개의 댓글