python - pandas II
·
AI/python AI
pandas I 이어서 pandas 라이브러리를 다루는 방법에 대해 계속 학습합니다. 정제되지 않은 데이터를 여러 형태로 변환하기 위해 사용되는 여러 기능을 알아보자 Groupby Hierarchical index aggregation transformation pivot table merge & concat join DB persistence 우리는 많은 데이터를 이용하게 되는데 db에 있는 데이터를 활용하기 위해서는 많은 전처리가 필요하다 그 이유는 db에 있는 데이터는 더럽기 때문이다. Groupby I 첫번째로 groupby 이다. 컬럼을 기준으로 묶고 연산을 한다. 1개 이상의 데이터도 묶을 수 있다. 이런 식으로 데이터를 묶는 방식도 있다. unstack을 해줄 경우 matrix 로 변환도 해..
python pandas I
·
AI/python AI
panel data 의 줄임말인 pandas는 파이썬의 데이터 처리의 사실상의 표준인 라이브러리입니다. pandas는 파이썬에서 일종의 엑셀과 같은 역할을 하여 데이터를 전처리하거나 통계 처리시 많이 활용하는 피봇 테이블 등의 기능을 사용할 때 쓸 수 있습니다. pandas 역시 numpy를 기반으로 하여 개발되어 있으며, R의 데이터 처리 기법을 참고하여 많은 함수가 구성되어 있거 기존 R 사용자들도 쉽게 해당 모듈을 사용할 수 있도록 지원하고 있습니다. Series DataFrame Selection & Drop Dataframe operation Lambda map apply Built-in functions 이제 데이터를 로딩 해오는 방식인데 sep 는 데이터를 나누는 기준인데 정규식을 넣는다. ..
python - Numerical Python - Numpy
·
AI/python AI
python은 c, c++에 비하면 정말 느린 언어이다. 이러한 점을 극복하기 위한 것이 numpy이다. numpy는 파이썬 과학처리 패키지이다. 설치 방법 위의 activate는 가상환경이다. ndarray numpy 시작 사용법은 간단하다. 리스트 데이터를넣고 데이터 타입을 알려주면 된다. 파이썬의 특징 다이나믹 타이핑 미리 데이터를 선언하는 것이 아니라 써줄때마다 선언이 가능하다. 하지만 numpy는 허락하지 않는다. 데이터 타입을 선언해야한다. 따라서 하나의 데이터 타입만 들어간다. 파이썬에서의 특징은 일반적으로 메모리의 주소를 저장하는 방식이다. 따라서 a 라는 리스트가 존재할때 그냥 b를 복사해주면 b또한 a 와 같은 방향을 가리키게 되며 a를 변화 시켰을 때 b도 함께 변하는 것이다. 따라서..
python - data handling
·
AI/python AI
이 자료는 네이버 부스트 코스에서 제공하는 자료로 만들어졌습니다. 우리가 알아야할 데이터 타입에 대하여 알아보자 가장 기본적인 데이터 타입이다! Comma Separate Value 왜 우리는 csv 파일을 사용해야 할까? 그 이유는 엑셀 형식의 데이터를 사용하기 위해서 이다. 쉘만 돌아가는 리눅스 머신에서는 엑셀 파일을 열지 못하기 때문이다. csv 예제 참고로 csv 파일을 다룰때는 0번째 값을 헤더로 많이 이용한다. line_counter = 0 #파일의 총 줄수를 세는 변수 data_header = [] #data의 필드값을 저장하는 list customer_list = [] #cutomer 개별 List를 저장하는 List with open ("customers.csv") as customer_..
python - File / Exception / Log Handling
·
AI/python AI
이 자료는 네이버 부스트 코스에서 제공하는 자료로 만들어졌습니다. 왠지 모르면 손해인 함수들에 대하여 알아볼 것이다. 우리는 프로그램을 사용할 때 예상치 못한 오류들을 마주하게 된다! ㄷㄷ 예상 가능한 예외는 if 문을 이용하지만 불가능한 예외는 try except을 이용한다. 이러한 경우 우리는 예외 처리를 꼭 해주는 것이다.! - Exception Handling try 에 예외 발생 가능 코드를 적는 이유는 우선 실행해보고 잘못됐을 때 예외 발생 대응 코드를 사용하는 것이다. 아래에는 예시이다. 이미 기본적으로 제공하는 에러들을 사용할수도 있다. 마지막에 이와 같은 방식을 사용한다고 하면 모르는 에러를 출력해준다고 한다. 하지만 잘 권장하지는 않는다고 한다. 이유는 다른 사용자가 어디서 에러가 발생..
python - Module and Project
·
AI/python AI
이 자료는 네이버 부스트 코스에서 제공하는 자료로 만들어졌습니다. 우리가 머신 러닝에 사용하는 파이썬 같은 경우 이미 많은 함수들이 라이브러리를 통해 구성되어 있다. 그런데 어케 사용할까? -모듈과 패키지 우리는 이런 모듈들을 모아 하나의 큰 프로그램을 개발하는 것이다. 프로그램을 모듈화 시키면 다른 프록램이 사용하기 쉬워진다. 이러한 모듈과 패키지를 직접 구현해보자! 위의 예시로는 각각의 모듈을 .py를 이용해서 만들게 된다. 다음에는 module_ex.py와 fah_converter.py 함수를 import 해서 사용한다. 여기서 사용되는 namespace라는 개념은 단순히 우리가 import를 해주게 된다면 그 .py 내에 있는 모든 내용을 불러오게 되는 문제를 만나게 된다. 따라서 우리는 from..
python - Object Oriented Programming (객체 지향 프로그래밍)
·
AI/python AI
이 자료는 네이버 부스트 코스에서 제공하는 자료로 만들어졌습니다. 파이썬을 개발하는 방법으로 만들어 놓은 코드를 재사용 하는 방법이 있다. 이러한 방법이 클래스와 객체이다. - 객체 지향 언어의 이해 - 만약에 수강 신청 프로그램을 작성해야한다 어떻게 해여할까? ①수강 신청이 시작부터 끝까지 순서대로 작성 ②수강 신청관련 주체들(교수, 학생, 관리자) 의 행동(수강신청, 과목입력)과 데이터(수강과목, 강의과목) 들을 중심으로 프로그램 작성 후 연결 두 가지 모두 가능 최근엔 ②번 방식이 주류 이러한 기법을 객체 지향 프로그램 이라 한다. 그럼 이제 직접 구현해보자 -축구선수정보를Class로구현하기 class SoccerPlayer(object): def __init__(self, name, positio..
python - function passing arguments
·
AI/python AI
이 자료는 네이버 부스트 코스에서 제공하는 자료로 만들어졌습니다. - 함수에 입력되는 arguments의 다양한 형태 1) Keyword arguments 2) Default arguments 3) Variable-length arguments 위의 방식처럼 your_name , my_name을 정해두고 하면 된다. 그럼 순서가 바뀌어도 상관 없다. *는 풀어서 넣어 주는 역할도 한다. unpacking을 해준다.