Python
-
[Python] bisect 함수를 통해 이진탐색 구현하기프로그래밍/알고리즘 2022. 9. 21. 22:08
이번 글에서는 파이썬 언어에서 bisect 함수를 통해서 이진탐색을 구현한다. 1. Bisect 함수 리스트 lst와 숫자 x가 있을 경우(lst는 정렬되어 있다고 가정한다), x가 lst의 어느 위치에 들어가야 정렬된 리스트가 유지되는지 반환한다. from bisect import bisect lst = [1,3,5,7,9] x = 7 # lst에 '7'이라는 값이 어디에 들어가야 정렬된 리스트를 유지하는지 bisect(lst,x) # 4라는 인덱스값을 반환함 2. Bisect의 네가지 케이스 2.1 동일한 값이 있을 경우 lst에 동일한 값이 있기 때문에 '7'의 다음 인덱스인 4를 반환한다. lst = [2,3,5,7,9] x = 7 bisect(lst,x) #=> 4 2.2 동일한 값이 없을 경우..
-
[파이썬/자료형]딕셔너리(Dictionary)기타 2022. 9. 7. 11:43
1. 딕셔너리란 키(key)와 값(value)로 이루어진 자료형 키에 해당하는 값을 넣어 만들 수 있다 2. 선언 2.1 빈 딕셔너리 선언 dic = {} 2.2 key와 value를 넣어서 선언 dic = { 'a':0, 'b':1, 'c':2 } 2.3 다양한 타입의 value를 넣어서 선언하기 dic = { 'int_v' : 1, 'str_v' : 'hello', 'lst_v' : [], 'lst_v2' : [1,2,3], 'tup_v' : (1,2,3) } 3. Key/value 호출 key/value 호출 예시를 위해서 2.3항목의 딕셔너리를 사용한다고 가정함 3.1 전체 key 목록 불러오기 기본적인 반환타임은 dict_keys 형태이다 리스트형을 원하면 list()를 통해 형변환을 해야한다 ..
-
파이썬 시각화 그래프 여러개 그리기 plt.subplotsData Science/시각화 2021. 11. 5. 02:49
시각화 그래프를 나타 낼 때, 여러개의 그래프를 그리는 법. 1. 필요 라이브러리 import seaborn as sns import matplotlib.pyplot as plt 2. 데이터 준비 df = sns.load_dataset("iris") 데이터 샘플 불러오기에 대해서 자세히 알고싶다면 아래의 포스팅을 참고하세요. https://csshark.tistory.com/54 3. 그래프 여러개 그리기 오늘 사용할 그래프는 seaborn의 distplot입니다. seaborn의 distplot는 다음 포스팅에서 자세히 확인 가능합니다.(https://csshark.tistory.com/53) sns.distplot(df['sepal_length']) 3.1 가로로 그래프 여러개 그리기 fig, ax ..
-
파이썬 데이터 샘플 불러오기 seaborn.load_dataset (titanic 외 18)Data Science/데이터셋 2021. 11. 3. 02:36
데이터 분석 또는 시각화를 연습하거나 예시를 들때 그 재료가될 데이터가 필요하다. seaborn 라이브러리에서는 이럴 때 사용할 수 있는 데이터를 간편하게 제공하고 있다. 기본적으로 19개의 csv파일이 제공되며 그외에 이미지 등도 제공된다. 본 포스팅에서는 기본적으로 제공되는 19개의 csv 파일을 다룬다. 1. seaborn.load_dataset 데이터를 호출하는 함수 이름은 load_dataset이다. 인자로는 단순히 데이터의 이름을 입력한다. import seaborn as sns sns.load_dataset('데이터셋 이름') 2. 데이터 호출하기 2.1 아이리스 꽃 데이터(Iris) import seaborn as sns df = sns.load_dataset('iris') 2.2 타이타닉..
-
파이썬 시각화 히스토그램 그리기 Seaborn.distplotData Science/시각화 2021. 11. 2. 20:05
Seaborn 라이브러리를 이용하여 히스토그램(histogram)을 그려보겠습니다. 1. 데이터 준비 seaborn에서 기본적으로 제공해주는 tips 데이터셋을 불러와서 예시로 사용합니다. tips 데이터셋은 아래 그림과 같이 dataframe 형태로 구성되어 있는 것을 확인 할 수 있습니다. import seaborn as sns df = sns.load_dataset("tips") print(df) 2. 히스토그램 그리기 seaborn.distplot에서는 데이터프레임(df)의 특정 컬럼을 지정해주면 해당하는 히스토그램을 나타냅니다. import seaborn as sns df = sns.load_dataset("tips") ax = sns.distplot(df['total_bill']) 위의 그래프..
-
파이썬 시각화 막대그래프 그리기 Seaborn.barplotData Science/시각화 2021. 10. 13. 13:38
Seaborn 라이브러리를 이용하여 막대그래프(bar chart)를 그려보겠습니다. 1. 데이터 준비 seaborn에서 기본적으로 제공해주는 tips 데이터셋을 불러와서 예시로 사용합니다. tips 데이터셋은 아래 그림과 같이 dataframe 형태로 구성되어 있는 것을 확인 할 수 있습니다. import seaborn as sns df = sns.load_dataset("tips") print(df) 2. 막대그래프 그리기 seaborn에서는 x,y축의 값들을 리스트로 지정하는 것이 아닌 데이터프레임의 컬럼 이름으로 지정합니다. import seaborn as sns df = sns.load_dataset("tips") ax = sns.barplot(x="day", y="total_bill", data..
-
파이썬 시각화 꺽은선그래프 그리기 Matplotlib.pyplot - plotData Science/시각화 2021. 10. 12. 14:50
Matplotlib의 pyplot은 다양한 시각화 기법(그래프)를 지원합니다. 그중에서 plot을 통해서 꺽은선그래프(line chart)를 그려보겠습니다. import matplotlib.pyplot as plt x_lst = [1,2,3,4,5] # x축좌표 y_lst = [1,4,9,16,25] # y축좌표 fmt = 'o-g' # [마커모양]+[선종류]+[색] plt.plot(x_lst, y_lst, fmt) plt.show() 1. x_lst, y_lst 그래프의 X축/Y축 좌표, 두 리스트의 길이는 동일해야합니다. 2. fmt(format) 꺽은선 그래프의 format을 나타내며 [마커모양], [선종류], [색]으로 구성되어있습니다. ㄴ세부 파라미터의 순서를 변경해도 되지만 mabplotlib..
-
[인코딩,sklearn] Ordinal EncodingData Science/Pandas & Numpy&Scikit-learn 2021. 9. 14. 10:19
인코딩 방법에는 여러가지가 존재한다. 본 포스팅에서는 Ordinal 인코딩을 사용한다. One-Hot 인코딩은 단어 집합의 크기를 벡터 차원으로 하여 0과 1로 표현하는 반면, Ordinal 인코딩은 단어를 0~n의 값으로 치환한다. 따라서 데이터프레임의 컬럼 개수는 그대로이다. 샘플 데이터 생성 import pandas as pd df=pd.DataFrame({ 'ID':[1,2,3,4,5], 'name':['아메리카노','바닐라라떼','아메리카노','민트초코','아메리카노'], 'tumbler':['N','Y','Y','N','N'] }) print(df) 컬럼별 데이터 타입 살펴보기 print(df.dtypes) 범주형 데이터 타입만 살펴보기 (categorical, object) categoric..