본문 바로가기

코딩

(16)
[Python] Seaborn 라이브러리 import seaborn as sns sns.lineplot(x=xdata, y=ydata, label="y1") sns.lineplot(data=df, x="col1", y="col3", errorbar=None) sns.set_style("darkgrid") 테마명x축 값을 col2기준으로 또 나sns.barplot(data=df, x="col1", y="col3", hue="col2")
[Python] Matplotlib 라이브러리 내용코드importimport matplotlib.pyplot as plt선 그래프 생성*선 마커, 선 모양, 선 색 설정 가능plt.plot(x, y)그래프 제목 삽입plt.title("제목", fontsize=수)x축 레이블 삽입plt.xlabel("레이블", fontsize=수)y축 레이블 삽입plt.ylabel("레이블", fontsize=수)여러 선 그래프 생성a = [(g1, 'g1'), (g2, 'g2'), (g3, 'g3')]for m, n in a:    plt.plot(x, m, label=n)plt.legend()그린 그래프를 화면에 표시plt.show()x축 눈금 설정plt.xticks([2018, 2019, 2020, 2021])격자 추가plt.grid(True)DataFrame ..
[Python] Pandas 라이브러리 1. PandasPandas 라이브러리는 시리즈와 데이터프레임(DataFrame)을 다룬다.데이터프레임은 표 형태를, 시리즈는 한 열(column)만 있는 형태를 생각하면 된다.데이터프레임과 시리즈는 인덱스와 값으로 이루어지는데 이때 인덱스는 row명을 의미한다.아래 작성된 예시들에서 "col"은 column명을 가리키고 "row"는 row명을 가리킨다. 일단 import를 하자.import pandas as pd  2. DataFrame 만들기 / csv로 저장하기내용코드csv 파일을 읽어 DF 만들기df = pd.read_csv("파일명")딕셔너리를 DF로 만들기df = pd.DataFrame(딕셔너리명)데이터를 직접 넣어 DF 만들기df = pd.DataFrame([1,3,5], [2,12,24])..
[Python] 경로 (절대경로, 상대경로, os, pathlib, shutil) 1. 경로파일 혹은 폴더의 경로는 크게 2가지 방법으로 나타낼 수 있다. ① 절대 경로 : 루트 디렉터리(Windows : "C:\", macOS : "/")부터 해당 파일까지의 전체 경로② 상대 경로 : 작업 디렉터리(작업 파일이 속한 폴더)를 기준으로 나열된 경로 코드 파일을 다른 컴퓨터에 공유할 때, 절대 경로가 달라질 가능성이 매우 크므로 상대 경로를 주로 사용한다. 예시)파일1 절대 경로 : C:\Users\Rampy\파일명1.py파일2 절대 경로 : C:\Users\Rampy\파일명2.py=> 파일명1.py 에서 파일명2.py의 상대경로 : "파일명2.py" 디렉터리는 폴더를 말하는 것으로, 대표적인 3개의 디렉터리는 간단하게 아래와 같이 표현한다.대상표현식작업 디렉터리 (작업 파일이 속한 폴..
[Python] 파일 다루기 (txt, csv, with문, json) 1. txt 파일 다루기내용코드파일 열기*인코딩은 생략 가능f = open("파일명", encoding="인코딩방법")특정 모드로 파일 열기f = open("파일명", "모드")*읽기:"r", 쓰기:"w", 쓰기&내용 추가:"a",*읽기&쓰기(기존 파일 내용 유지):"r+",모두 읽어서 출력print(f.read())처음 #개 문자만 읽어 출력print(f.read(#))현재 위치에서 한 줄을 읽어 출력*'/n'도 함께 가져오므로  strup메서드와 함께 사용 추천print(f.readline())현재 위치에서 모든 줄을 리스트로 읽어 출력print(f.readlines())내용 쓰기f.write("내용")리스트에 있는 내용 쓰기f.writelines(리스트)모두 읽어서 상수에 내용 저장content =..
[Python] 프롬프트 사용 (가상환경, 라이브러리) 1. 가상환경여러 프로젝트를 격리된 환경에서 수행하기 위해서는 가상환경을 구축해야 한다.가상환경에는 각각에게 필요한 라이브러리와 패키지들을 설치할 수 있어,전체적인 시스템 부하를 낮추고 프로젝트 관리를 용이하게 한다. 가상환경 종류는 2가지로 구분된다.① venv : 파이썬을 설치할 때 자동으로 설치됨② conda : Anaconda를 설치해야 사용 가능함. 보통 이것을 사용.  2. 가상환경 설치 및 사용가상환경과 관련된 명령어 코드는 프롬프트에 작성해야 한다.내용코드가상환경 생성python -m venv 가상환경명가상환경 활성화(Windows) 가상환경명\Scripts\activate(MacOS) source 가상환경명/bin/activate가상환경 비활성화deactivate가상환경 삭제(Window..
[Python] 코드 단순화 (f-string, List Comprehension, Enumerate) 1. f-string 포맷팅변수와 함께 텍스트를 출력해야 할 때 f-string 포맷팅을 사용하지 않으면 아래와 같이 길어진다.#Example : 포맷팅 사용Xhour = 8print("현재 시간은 " + str(hour) + "시 입니다.") 하지만 f-string 포맷팅을 사용하면 아래와 같이 줄일 수 있다."" 앞에 f를 적고, {} 안에는 변수명을 적으면 된다.#Example : 포맷팅 사용Ohour = 8print(f"현재 시간은 {hour}시 입니다.")  2. List Comprehension리스트에 반복문을 사용해 값을 저장할 때, 단순하게 코드를 작성하는 방법이다.기본적인 형식은 아래와 같다.리스트 = [1) 2) 3) 중 넣으면 됨]1) 입력값 for 변수 in 시퀀스2) 입력값 for..
[Python] 오류 관리 (Error, try-except) 1. 오류 (Error)코드를 돌렸을 때 자주 나오는 오류들을 정리해보자.Error내용예시ValueError부적절한 값을 인자로 받은 경우int("white")TypeError잘못된 데이터 타입인 경우3 + "white"SyntaxError파이썬 문법에 맞지 않는 경우if a#콜론(:) 없음NameError변수 이름을 찾을 수 없는 경우 IndexError인덱스 범위를 벗어나는 경우 ZerodivisionError분모에 0이 들어간 경우 RecursionError무한 루프에 따른 오류   2. 예외 처리 (try-except문)오류가 발생하면 코드 실행이 멈추는 등 작업 진행이 어려워지기 때문에,try - except문을 이용해 코드의 안전성을 확보한다. try - except문의 형식은 아래와 같다.이..
[Python] 모듈, 패키지, 라이브러리, import 1. 개요모듈 라이브러리 안에 여러 패키지가 있고, 패키지 안에 여러 모듈이 있다.2. 모듈 (Module)모듈은 .py 형식의 파일이다.모듈 안에 함수, 클래스, 상수 등을 생성해놓으면, 이를 다른 작업 파일(.py)에 불러와서 사용할 수 있다. 3. 패키지 (Package)패키지는 여러 모듈들을 포함한 폴더이다.더 이상 설명은 필요 없다. 4. 라이브러리 (Library)라이브러리는 여러 패키지를 모아놓은 것으로, 매우 유용하고, 매우 많으며, 현재에도 계속 만들어지고 있다.예컨데 데이터 분석을 위한 라이브러리, 데이터 시각화를 위한 라이브러리 등이 있다. 라이브러리는 2가지로 구분된다.① 표준 라이브러리 : 파이썬과 함께 자동으로 설치되는 라이브러리     예시) re, math, random, o..
[Python] 클래스와 메소드 (Class, Method) 1. 클래스 (Class) & 메소드 (Method)클래스는 여러 함수를 담고 있는 묶음이다.이 때 클래스 내에 존재하는 함수를 메소드(Method)라 부른다.통상 클래스 이름은 대문자로 시작한다. 자세한 설명은 예시 먼저 투척하고 하단에 쓰도록 하겠다.#Example : 클래스 정의class Plus_Minus: def getdata(self, x1, x2): self.one = x1 self.two = x2 return "setting complete!" def plus(self): return self.one + self.two def minus(self): return self.one - self.two#Example :..
[Python] 함수 (사용자 지정 함수, lambda, map) 1. 내장 함수파이썬을 설치하면 기본적으로 내장되어 있는 함수이다.예시) print(), input(), str(), max(), len() 등이 있다.  2. 사용자 지정 함수함수를 직접 만들어서 사용할 수 있다.함수를 만드는 코드 형식은 아래와 같다.def 함수명(매개변수1, 매개변수2, ...): 명령1 명령2 ... return 반환값매개변수는 지역(local)변수로, 전역(global)변수와는 달리 함수 내에서만 적용된다.따라서 전역변수와 매개변수가 같더라도 둘은 사실 다르다.아래 예시에서도 함수에 인풋으로 들어간 x=29(매개변수)가 x=38(전역변수)에 영향을 주지 못함을 알 수 있다. #Examplex = 38def function_1(x): x = x+1 ..
[Python] 조건문, 반복문 (if, for, while) 1. 조건문 (if)조건문의 기본적인 형식은 아래와 같다.elif와 else는 없을 수 있고, elif는 여러 개 있을 수 있다.if 조건: 명령1 명령2 ...elif 조건: 명령1 ...else: 명령1 ...#Example : 여러 값을 입력해서 정답 값을 맞히는 업다운 게임x = 38 #정답 값y = int(input()) #예측한 입력 값count = 0 #틀린 횟수if y > x: count += 1 print("DOWN")elif y 12번 실패 후 정답을 맞힌다면>> Correct!>> 실패횟수 : 12  2. 반복문 (for)for 반복문의 기본적인 형식은 아래와 같다.이때 시퀀스란 문자열, 리스트, 튜플을 말한다.for 반복문은 시퀀스의 ..
[Python] 복합 자료형 (dictionary, set) 1. 복합 자료형파이썬의 복합 자료형은 4가지다.단, 이전 게시물에서 list와 tuple을 다뤘으므로 본 게시물에서는 dictionary와 set을 다루고자 한다. ▪️ 리스트 ▪️ 튜플▪️ 딕셔너리▪️ 세트  2. 딕셔너리 (Dictionary)딕셔너리는 Key와 Value의 쌍으로 이루어진 자료형이다.시퀀스 자료형이 아니므로 순서가 없고, 따라서 인덱싱이 불가능하다.작업 내용코드결과딕셔너리 생성① a = {}② a = {'name' : 'Kim', 'age' : 25}① a = {}② a = {'name' : 'Kim', 'age' : 25}요소 추가a['home'] = 'Seoul'a = {'name' : 'Kim', 'age' : 25, 'home' : 'Seoul' }요소 삭제del a['ho..
[Python] 시퀀스 자료형 (문자열, list, tuple) 1. 시퀀스 자료형파이썬의 시퀀스 자료형은 3가지다.3가지의 공통점은 '순서'가 있다는 것이며, 그렇기에 '인덱싱'과 '슬라이싱'이 가능하다. ▪️ 문자열 ▪️ 리스트 ▪️ 튜플  2. 인덱싱/슬라이싱Example▪️ 문자열 : "Tstory"▪️ 리스트 : [1, 5, 2, 6, 8, 9]▪️ 튜플 : ('a', 'b', 'c,', 'e', 3, 'f') 이때 인덱스는 아래와 같다.인덱스012345역순 인덱스-6-5-4-3-2-1ex. 문자열Tstoryex. 리스트152689ex. 튜플abce3f  아래는 위 인덱스를 이용한 인덱싱/슬라이싱 방법이다.예시) a = [1, 5, 2, 6, 8, 9]작업 내용코드결과순방향 인덱싱a[1]5역방향 인덱싱a[-3]6전체 슬라이싱a[:][1, 5, 2, 6, 8,..
[Python] 기초 자료형 1. 자료형(1)자료형전환 코드예시부울bool()True, False문자str()"tistory"정수int()3실수float()3.0#Examplea=3.0b=int(a)print(a, b)>> 3.0 3  2. 자료형(2)자료형전환 코드예시특징리스트list()[1, 6, "apple", 3]순서가 있음(인덱싱 가능), 요소 수정/삭제 가능튜플tuple()(1, 6, "apple", 3)순서가 있음(인덱싱 가능), 요소 수정/삭제 불가능세트set(){1, 6, "apple", 3}순서가 없음(인덱싱 불가능), 중복 불가능딕셔너리dict(){'a': 1, 'b': 2, 'c': 3}순서가 없음(인덱싱 불가능), key/value 쌍으로 구성#Examplea=(1, 6, "apple", 3)b=list(a)..
[Python] 기초 연산 1. 연산자연산코드더하기+빼기-곱하기*나누기/나누기(몫)//나누기(나머지)%제곱**#Examplea=2b=3print(a**b)>> 8  2. 비교연산자비교연산코드같다==다르다!=크다>크거나 같다>=작다작거나 같다#Examplea=2b=3print(a==b)>> False  3. 부울리언 대수코드True 조건and모두 True일 경우or하나라도 True일 경우notFalse일 경우#Examplea=5print(a==3 or a%2==0)>> False