소연의_개발일지
[Python] *args 와 **kwargs(function definition) 정리
개발공부/Python 2023. 6. 27. 19:22

*args and **kwargs in Python 두개 모두 가변인자를 위한 변수이다. *args(키워드가 없는 인자, arguemnts) 함수에 가변 값을 넣어줄 때 사용한다. 즉 인자의 값의 길이에 제한 없이 사용할 수 있다. 이전에 정의한 값보다 더 많은 인자들을 넣을 때 사용한다. 인자의 값이 튜플 형태로 저장된다. 예시 def foo(*args): for a in args: print(a) foo(1) # 1 foo(1,2,3) # 1 # 2 # 3 **kwargs(키워드가 있는 인자, keyword arguments) 인자의 값이 딕셔너리 형태로 저장된다. 더블 스타(**)를 사용하는 이유는 키워드 인자를 통해 인자를 전달할 수 있기 때문이다. 이를 통해 어떤 수의 키워드 인자라도 전달할 수..

article thumbnail
[Matplotlib] 그래프에 옵션 추가 - title(), legend(), color(), marker(), linestyle()
개발공부/Python 2023. 6. 23. 20:57

plot() 함수는 직선 혹은 꺽은선 그래프를 그릴 때 사용하는 명령어이다. import matplotlib.pyplot as plt plt.plot([1,2,3,4], [12,43,25,15]) plt.show() plot안에 입력한 리스트의 값이 x축 값, y축 값으로 입력된다. 만약 리스트 1개만 입력하면 자동으로 y축값으로 입력된다. x 축 값 갯수와 y축 값 갯수가 다르면 오류가 발생한다. plot 함수에 기본 그래프를 그리려면 보통 3 단계를 거쳐야 한다. 1. import matplotlib.pyplot as plt : 라이브러리 불러오기 2. plt.plot([x축 데이터], [y축 데이터]): plot() 함수에 데이터 입력하기 3. plot.show(): 그래프 보여주기 그래프에 옵션 ..

article thumbnail
UnicodeDecodeError: 'cp949' codec can't decode byte 0xec in position 51: illegal multibyte sequence 오류 해결
개발공부/SQL & DB 2023. 6. 14. 10:48

판다스를 이용하여 csv 파일을 sql 로 변환하려던 중 UnicodeDecodeError: 'cp949' codec can't decode byte 0xec in position 51: illegal multibyte sequence 오류가 생겼다. import pandas as pd import sqlite3 # pandas 라이브러리를 사용해 csv -> sqlite 데이터베이스 변형 con = sqlite3.connect('data.db') # read_csv() 함수를 사용해 csv파일 읽기 df = pd.read_csv('drinks_price.csv', encoding='cp949') # to_sql() 함수를 사용하여 데이터를 sqlite에 삽입 # to_sql(테이블이름, db, 만약 존..

article thumbnail
[프로젝트] 개인프로젝트 - 키오스크 제작: 요구분석서 작성하기

개인프로젝트로 요구분석을 상세히 작성하라는 과제를 내주셔서 하는 중이다. 기록용 파일 과연 목업 이미지대로 만들 수 있을 것인가~~~~ 기대된다 ㅎㅎ

article thumbnail
[Python] List Comprehension(리스트 컴프리헨션) 공부와 Nato 알파벳 음성기호 만들기
개발공부/Python 2023. 6. 10. 13:54

리스트 컴프리헨션(List Comprehension) 리스트 컴프리헨션(list comprehension)은 파이썬에서만 존재하는 기능으로, 입력한 양은 줄어들고 코드는 줄일 수 있고 쉽게 읽을 수 있다. 이전까지는 for loop를 만들어서 빈 리스트에 1씩 증가하는 식을 넣어 1씩 증가한 리스트를 만들었지만, 리스트 컴프리헨션을 쓰면 1줄로 만들 수 있다는 장점이 있다. 리스트 컴프리헨션 - 리스트(list) 활용 리스트 컴프리헨션의 방법은 아래와 같다. new_list = [new_item for item in list] 기존의 for loop를 사용한 방식 # 기존방식 numbers = [1 ,2, 3] new_list = [] for n in numbers: add_1 = n+1 new_list..

article thumbnail
[Matplotlib] Matplotlib, pandas로 k-pop 그룹 데이터 분석해보기
개발공부/Python 2023. 6. 8. 21:30

오늘 해본 활용자료 케글에서 kpop그룹에 대한 자료가 있어 가져왔다. 열은 그룹명, 그룹명 줄인임름, 한국이름, 성별, 데뷔일, 소속사, 멤버수, 원래멤버, 팬클럽이름, 활동 으로 이루어 져 있다. 출처: https://www.kaggle.com/datasets/nicolsalayoarias/kpop-groups-dataset?resource=download 열 이름 ''' 열이름 Name Short Korean Name Gender Debut Company Members Orig Memb Fanclub Name Active ''' 1. 성별 비율 구하기 #성별 비율 girl_group_df = df[df['Gender']=='Female'] girl_group_cnt = len(girl_group_d..

article thumbnail
[Matplotlib] Matplotlib에서 한글 깨짐 문제 해결하기
개발공부/Python 2023. 6. 8. 11:52

Matplotlib에서 한글 깨짐 문제 데이터 분석을 하던 중.. 이런 오류가 생겼다. 그 이유는 matplotlib에서는 한글 폰트를 지원하지 않기 때문이다. 그래서 한글이 깨지는 문제가 발생하는데, 이를 해결하기 위해서는 한글 폰트를 설정해줘야 한다. 해결방법 1. 사용중인 os에서 한글 폰트 찾기 윈도우에서는 "C:\Windows\Fonts" 폴더에, 맥에서는 "/Library/Fonts" 폴더에 폰트 파일이 저장되어 있다. 2. 지원하는 폰트 찾아 설정하기 이 중에 matplotlib에서 지원하는 폰트를 찾아 설정해주면 된다. 윈도우에서는 "malgun.ttf" 혹은 "NanumBarunGothic.ttf" 등을 사용할 수 있다. 맥에서는 "AppleGothic.ttf" 등을 사용할 수 있다. 3..

article thumbnail
[Matplotlib] 1. Matplotlib 기본 사용
개발공부/Python 2023. 6. 7. 23:09

원본링크: 위키독스(https://wikidocs.net/92071) Pyplot matplotlib.pyplot 모듈은 MATLAB과 비슷하게 명령어 스타일로 동작하는 함수의 모음 matplotlib.pyplot모듈의 각각의 함수를 사용해서 간편하게 그래프를 만들고 변화를 줄 수 있다. 예- 그래프 영역을 만들고, 몇 개의 선을 표현하고, 레이블로 꾸미는 등의 일을 할 수 있다. 예제1 import matplotlib.pyplot as plt #리스트의 값들이 y라고 가정하고, x값 [0, 1, 2, 3]을 자동으로 만들어낸다. plt.plot([1, 2, 3, 4]) plt.show() #창에 표 띄우기 pyplot.plot 함수에 하나의 숫자 리스트를 입력함으로써 아래와 같은 그래프가 만들어진다. ..

article thumbnail
[Matplotlib] 0. Matplotlib 설치하기
개발공부/Python 2023. 6. 7. 22:38

Matplotib 공부 기록 시작 참고 링크 1. Corey Schafer 유트브(https://youtu.be/UO98lJQ3QGI) 2. 위키독스 Matplotlib Tutorial - 파이썬으로 데이터 시각화하기 (https://wikidocs.net/book/5011) 3. Matplotlib 공식문서(https://matplotlib.org/stable/index.html) 공식배포판 설치 python -m pip install -U pip python -m pip install -U matplotlib 콘솔창에 코드를 작성해서 설치한다. **추천: 항상 새 프로젝트를 만들 때는 새 가상환경을 만들고 그 가상환경에 모듈을 설치하는것이 좋다. 혹은 파이참 인터프리터 창을 열어서 설치해도 된다.

article thumbnail
[Matplotlib] 모든 색상 반환하기
개발공부/Python 2023. 6. 7. 15:51

코드1 import matplotlib.pyplot colors = matplotlib.pyplot.colormaps() print(colors) 출력결과 더보기 ['magma', 'inferno', 'plasma', 'viridis', 'cividis', 'twilight', 'twilight_shifted', 'turbo', 'Blues', 'BrBG', 'BuGn', 'BuPu', 'CMRmap', 'GnBu', 'Greens', 'Greys', 'OrRd', 'Oranges', 'PRGn', 'PiYG', 'PuBu', 'PuBuGn', 'PuOr', 'PuRd', 'Purples', 'RdBu', 'RdGy', 'RdPu', 'RdYlBu', 'RdYlGn', 'Reds', 'Spectral',..