Study/Python
-
[Python/Numpy] 파이썬의 라이브러리 : 넘파이 (1)Study/Python 2022. 7. 25. 16:52
넘파이란? 데이터 과학 전반에 사용되는, 수치 계산을 위해 제작된 Python의 외부 라이브러리이다. 특히 머신러닝, 딥러닝을 구현할 때 행렬 및 다차원 배열 계산을 할 때 유용하다. 넘파이 사용법 코드 내에서 import문을 이용하여 라이브러리를 불러온다. import numpy as np 다차원 배열의 속성들 ndim : 배열 축 혹은 차원의 개수를 나타냄 shape : 배열의 형상을 기술하며 (m, n) 형식의 튜블 형으로 나타냄 size : 배열 원소의 개수를 말하며 (m, n) 형상 배열의 size는 m X n임 dtype : 배열 원소의 자료형을 기술함 itemsize : 배열 원소의 크기를 바이트 단위로 기술. 예를 들어 int32 자료형의 크기는 32/8 = 4바이트 data : 배열의 실..
-
[Colab/코랩] 코랩에서 matplotlib, seaborn 등 사용 시 한글 적용하기Study/Python 2022. 4. 27. 17:29
Colaboratory, 즉 코랩이란 주피터 노트북 기반의 개발환경이다. 특히 데이터 분석에서 사용되는 Tensor Flow, Keras, mataplotlib, scikit-learn, pandas 등이 기본적으로 설치되어있어 편리하다. GPU 또한 무료로 사용할 수 있다. 이러한 코랩 환경에서 Matplotlib, seaborn 등의 라이브러리를 이용하여 데이터를 시각화하는 도중에, 그래프 이미지 내에 한글이 포함되어있으면 한글이 깨져서 출력되는 것을 확인할 수 있다. 이는 간단한 코드를 추가하여 해결할 수 있다. !apt-get update -qq # 폰트 설정을 위한 코드 !apt-get install fonts-nanum* -qq 우선 위의 코드를 작성한 후, 실행한다. 그러면 실행 결과 창에 ..
-
[Python] 집합Study/Python 2022. 4. 5. 21:15
집합 - 파이썬에서의 집합 또한 수학의 집합과 유사하며, 튜플과 달리 순서가 없는 자료형이다. - 동일한 값을 가지는 항목의 중복이 허용되지 않는다. - 교집합, 합집합, 차집합, 대칭차집합 등의 다양한 집합 연산을 수행할 수 있다. numbers = {2, 1, 3} # 숫자 3개로 이루어진 집합 자료형 - 리스트로부터 집합을 생성하는 것도 가능하다. - 집합자료형에서는 요소가 중복되면 자동으로 중복된 요소를 제거한다. set([1, 2, 3, 1, 2]) # 리스트로 집합 생성 >> {1, 2, 3} - 문자열로부터 집합을 생성하는 것도 가능한데, 이때에는 각 문자들이 하나의 요소가 된다. set("abcdefa") >> {'f', 'a', 'b', 'e', 'c', 'd'} - 비어있는 집합을 생성..
-
[Python] 람다 함수Study/Python 2022. 4. 4. 20:50
람다 함수 - 람다 함수란 이름이 없는 함수로 정의할 수 있다. - 간단한 1회용 작업에 유용하다. - 가끔 함수를 만들지 않고 함수화된 기능만 불러와서 사용하는 경우가 있기에 람다 표현식(lambda expression)이라고도 한다. - 주의할 점으로는, 표현식 안에서 새로운 변수를 선언할 수 없다는 것이다. - 또한, 람다 함수의 반환 값은 변수 없이 식 한 줄로 표현할 수 있어야 하기 때문에 복잡하고 긴 기능의 함수는 def 키워드로 함수를 정의해야 한다. - 기존의 일반 함수와 람다 함수의 차이점 : def add(x, y) : # 일반 함수 return x + y lambda x, y : x + y # 람다 함수 람다 함수 활용 - 특정한 튜플에서 첫 항목만을 추출하는 람다 함수를 정의할 수 ..
-
[Python] 딕셔너리 개요 / 메소드Study/Python 2022. 4. 3. 19:30
딕셔너리(dictionary) - 리스트와 같이 값을 저장하는 자료구조로, 파이썬에서는 기본 자료형으로 제공되고 있다. - 리스트와는 달리 값(value)과 관련된 키(key)가 있다는 것이 큰 차이점이다. - 서로 관련되어 있는 키와 값이 함께 저장되는데, 이것을 키-값 쌍(key-value pair)이라고 한다. 딕셔너리 생성 방법 - {}를 이용해서 공백 딕셔너리를 생성한다. phone_book = { } # 공백 딕셔너리를 생성한다. - [] 안에 키 값을 적고 값을 추가한다. phone_book["홍길동"] = "010-1234-5678" - 출력하면 딕셔너리의 항목(item)이 쉼표로 구분되어 출력된다. print(phone_book) >> {'홍길동': '010-1234-5678'} - 딕셔..
-
[Python/Pandas/Matplotlib] 판다스를 이용하여 인구 구조 분석하고 꺾은선 그래프로 시각화하기Study/Python 2022. 2. 9. 14:11
판다스를 이용하여 인구 구조 분석하고 꺾은선 그래프 그리기 import pandas as pd import matplotlib.pyplot as plt df = pd.read_csv('age.csv', encoding = 'cp949', index_col = 0) df = df.div(df['총인구수'], axis = 0) # 전체 데이터를 총인구수로 나눠서 비율로 변환 del df['총인구수'], df['연령구간인구수'] # 총 인구수, 연령구간인구수 열 삭제 name = input('원하는 지역의 이름을 입력해주세요') a = df.index.str.contains(name) df2 = df[a] plt.rc('font', family = 'Malgun Gothic') df2.T.plot() plt...
-
[Python/Pandas] html에서 표를 읽어와 판다스를 이용하여 데이터프레임 작성하고 저장하기Study/Python 2022. 2. 4. 15:10
html에서 표를 읽어와 판다스를 이용하여 데이터프레임 작성하고 저장하기 (역대 올림픽 메달 데이터 중 하계올림픽의 메달 데이터만 금메달 기준으로 내림차순 정렬하여 엑셀 파일로 저장하기) # 금메달 기준으로 내림차순 데이터 정렬 후 엑셀 파일 저장 import pandas as pd df = pd.read_html('https://en.wikipedia.org/wiki/All-time_Olympic_Games_medal_table', header = 0, index_col = 0) summer = df[1].iloc[:, :5] summer.columns = ['경기 수', '금', '은', '동', '계'] print(summer.sort_values('금', ascending = False)) sum..
-
[Python/Matplotlib] 특정 지역과 비슷한 연령별 인구 구조를 가진 지역 추출 및 꺾은선 그래프로 시각화하기Study/Python 2022. 2. 3. 14:16
특정 지역과 비슷한 연령별 인구 구조를 가진 지역 추출 및 꺾은선 그래프 그리기 import numpy as np import csv import matplotlib.pyplot as plt f = open('age.csv') data = csv.reader(f) next(data) data = list(data) name = input('인구 구조가 알고 싶은 지역의 이름을 입력하세요.') mn = 1 # 최솟값을 저장할 변수 생성 및 초기화 result_name = '' # 최솟값을 갖는 지역의 이름을 저장할 변수 생성 및 초기화 result = 0 # 최솟값을 갖는 지역의 연령대별 인구 비율을 저장할 배열 생성 및 초기화 for row in data: if name in row[0]: home = ..