파이썬

파이썬/파이썬 시각화

1. Matplotlib - 1

Matplotlib이란 파이썬에서 자료를 차트나 플롯(plot, 두 변수 간의 관계를 보이는 graph)으로 시각화하는 패키지이다, 다음과 같은 정형화된 차트나 플롯 이외에도 저수준 API를 사용한 다양한 시각화 기능을 제공한다. line plot scatter plot contour plot surface plot bar chart histogram box plot 사용을 위해 matplotlib과 서브패키지인 pyplot의 import가 필요하다 주피터 랩에서는 별도의 윈도우 Figure 표시방식을 지원하지 않아서 그래프가 출력되지 않는 경우가 생긴다 그래서 %matplotlib inline 매직 명령으로 주피터 내부에 그림을 표시하도록 지정해야 한다. import matplotlib as mpl i..

파이썬/Pandas

6. Pandas 추가 메서드 - 3

DataFrame merge() SQL과 비슷한 부분이 많음. merge함수는 key를 기준으로 두 데이터 프레임의 공통 column 혹은 인덱스를 기준으로 두 개의 테이블을 합친다. 이때 기준이 되는 column, row의 데이터를 key라고 한다. df1 = pd.DataFrame({ '고객번호': [1001, 1002, 1003, 1004, 1005, 1006, 1007], '이름': ['둘리', '도우너', '또치', '길동', '희동', '마이콜', '영희'] }, columns=['고객번호', '이름']) df1 고객번호 이름 0 1001 둘리 1 1002 도우너 2 1003 또치 3 1004 길동 4 1005 희동 5 1006 마이콜 6 1007 영희 df2 = pd.DataFrame({ '..

파이썬/Pandas

5.Pandas 추가 메서드 - 2

DataFrame fillna() 메서드 fillna() 메서드는 NaN값을 원하는 값으로 바꿀 수 있다. 첫 인자로 변경하고자 하는 값을 전달하면 된다. value값으로 column label을 key로 갖는 딕셔너리를 전달하여 column마다 NaN을 대치하는 값을 각각 설정가능. limit 키워드 인자에 숫자를 전달하여 그 숫자만큼 column마다 변경 횟수를 제한할 수 있다. DataFrame을 value로 전달해서 NaN값을 대체할 수 있습니다. 다만 column label과 row index가 일치하지 않으면 적용되지 않는다. # np.nan 으로 NaN값 만들 수 있음. df = pd.DataFrame([[np.nan,2,np.nan,0], [3,4,np.nan,1], [np.nan,np.n..

파이썬/Pandas

4.Pandas 추가 메서드 - 1

Series 데이터 개수 세기 count() 메서드 = 개수를 세주는데~ NaN 값은 세지 않는다. 누락된 부분(NaN)을 찾을 때 유용하다. DataFrame에 count()메서드를 사용하면 각 열마다 데이터 개수를 세고, Series로 반환한다. s = pd.Series(range(10)) s[3] = np.nan print('count : ',s.count(),'\\nlen : ',len(s),end ='\\n\\n') # len은 길이만. s 데이터 시각화 수업에 배울 seaborn 패키지에 titanic호의 승객 데이터도 있다. 아래 예제처럼 DataFrame으로 읽어올 수 있다. import seaborn as sns titanic = sns.load_dataset('titanic') tita..

파이썬/Pandas

3.Pandas - DataFrame - 2

DataFrame 고급 인덱싱 Pandas에서 2차원 인덱싱을 지원을 하기 위한 추가적인 인덱서 속성 loc = label 값 기반의 2차원 인덱싱 중 row에 대한 Series 추출에 사용 row인덱싱 값은 정수 또는 row index 데이터이고, column 인덱싱 값은 label 문자열이다. loc인덱서의 인덱싱 값은 다음 중 하나이다. index 데이터 index 데이터 슬라이스 index 데이터 리스트 같은 row인덱스를 가지는 boolean Series 또는 위의 값들을 반환하는 함수 loc 인덱서는 column에 대한 label 인덱싱이나 label 리스트 인 덱시은 불가능하다 iloc = 순서를 나타내는 정수 기반의 2차원 인덱싱. column label 인덱싱이나 슬라이싱으로 사용할 경우..

파이썬/Pandas

2.Pandas - DataFrame - 1

DataFrame 2차원 array에 index값을 붙인 형태와 비슷하다. 행 index 뿐만 아니라 열 index도 따로 지정이 가능하다. 데이터프레임은 전치(transpose)를 포함하여 2차원 array가 가지는 대부분의 속성이나 메서드를 지원한다. 산술연산은 row와 column 모두 적용된다. series 객체를 갖는 dictionary라고 이해해도 된다. DataFame 생성 하나의 열이 되는 데이터를 리스트나 일차원 배열을 준비한다. 각각의 열에 대한 이름(label)을 키로 가지는 dictionary를 만든다 이 데이터를 DataFrame 클래스 생성자에 넣는다. 동시에 열 방향 index는 columns 인수로 행방향 index는 index인수로 지정한다. data = { "빨강": ['..

파이썬/Pandas

1. Pandas Series

Pandas = Panel Datas = Series나 table 형태로 데이터를 나타낼 수 있다. 이러한 데이터를 다루기 위한 클래스를 제공하는 패키지 Series class = NumPy에서 제공하는 1차원 배열과 그 모양이 비슷하다. 하지만 배열과 다르게 index를 추가하여 index와 value를 가지는 배열을 말한다. Series 객체 생성시 첫 인수로 data, 두 번째 인수로 idnex를 넣는다. data값으로 iterable,배열,scalar value, dict(key와 index를 동일하게 사용하거나 생략)를 사용할 수 있다. index는 data와 length가 동일해야한다. label 이 꼭 유일(unique)할 필요는 없다. index는 hashable 한 type만 올 수 있다..

파이썬/NumPy

NumPy - 3

정렬 a = np.array([[4,3,5,7], [1,12,11,9], [2,15,1,14]]) a np.sort(a) # axis=-1 또는 axis=1 과 동일 np.sort(a, axis=0) a.sort(axis=1) # a 값을 변화시킴 a argsort를 활용한 sort 방식 a = np.array([42, 38, 12, 25]) j = np.argsort(a) j a[j] np.sort(a) 고급 인덱싱 - 인덱스 배열을 사용한 인덱싱 a = np.array([[1,2],[3,4],[5,6]]) a print(a[[0,1,2],[0,1,0]]) # a[0,0] a[1,1] a[2,0]을 인덱스로 하는 1차원 배열(shape=(3,))을 출력해준다. a = np.array([[1,2],[3,..

파이썬/NumPy

NumPy - 2

벡터화 연산 명시적으로 반복문을 사용하지 않고도 배열의 모든 원소애 대해 반복연산을 할 수 있습니다. data = [0,1,2,3,4,5,6,7,8,9] answer = [2 * d for d in data] answer x = np.array(data) x 2 * x list_samp = [_ for _ in range(3)]print(list_samp*5) a = np.array([1,2,3]) b = np.array([10,20,30]) 2*a+b a == 2 b > 10 (a == 2) & (b > 10) x = np.arange(1, 10001) y = np.arange(10001, 20001) %%time 해당 매직메서드를 통해 파이썬에서 실행시간을 구할 수 있다. 아래 예시를 통해 벡터화 연..

파이썬/NumPy

NumPy - 1

python이 다른 언어보다 느린 이유. data = 이진 데이터 dimensions : 배열 구조 strides = 증감크기(type 크기) length = 시퀀스 길이 items = 요소(주소) NumPy 배열 숫자 데이터를 더 쉽고 편리하게 다룰 수 있게 도와주는 패키지 숫자 데이터를 효과적으로 다룰 수 있다 그래서 데이터 과학이나 분석에 많이 사용되는 패키지다. 다차원 배열 자료구조 클래스인 ndarray(N-dimensional Array) 클래스를 지원한다. 벡터와 행렬을 사용하는 선형대수 계산에 주로 사용된다. 배열(array)이란 순서가 있는 같은 종류(type)의 데이터가 저장되며 요소 개수가 변경 불가능한 자료형이다. 그래서 구조적으로 더 빠른 연산을 보여주며 메모리가 더 효율적이다. ..

잘잔디
'파이썬' 카테고리의 글 목록 (2 Page)