본문 바로가기

대학원 공부/programming language79

Python : module, package, library, framework module vs package 예시 - keras __init__.py (./keras) from __future__ import absolute_import from . import utils from . import activations from . import applications from . import backend from . import datasets from . import engine from . import layers from . import preprocessing from . import wrappers from . import callbacks from . import constraints from . import initializers from . import metric.. 2020. 3. 11.
Python : __str__ vs __repr__ 차이점 class test: def __repr__(self): return "done!!" def __str__(self): return "Not Done!" test_a = test() print(test_a) print(str(test_a)) print(repr(test_a)) __str__ __str__는 서로 다른 자료형 간에 interface를 제공하기 위해서 존재한다. 객체를 표현, representation 에 있다기보다는 추가적인 가공이나 다른데이터와 호환이 가능하도록 문자열화한다. ex) int, float, list 형태를 print를 같이하면 안되지만, print(a,b,c) 상태로 하면 가능하다. 원래는 TypeError가 떠야 정상이지만, __str__ 메소드를 내부적으록 구현을 하고 .. 2020. 2. 24.
Python : *args **kwargs https://brunch.co.kr/@princox/180 [나름 중급 파이썬1] *args와 **kwargs 항상 헷갈리는 두 가지 다시 한번 살펴보자 | 이 글은 파이썬의 문법을 모르면 이해하기 어렵습니다. python의 함수 작성 요령, 인자(argument)와 파라미터를 이해한다면 도움이 되는 내용입니다. 아니 이것은 포인터인가?! C언어를 배울 때 가장 힘든 그것! 바로 주소값을 가지는 포인터입니다! 근데.. 사자를 피했더니 호랑이를 만났다고 ㅠㅠ 파이썬을 배우려는데 별 표시(asteri brunch.co.kr *args parameter를 여러개를 넣어도 가능하다는 의미이다. **kwargs parameter를 key : value 형태인 딕셔너리를 받아서 그대로 사용할 수 있다. 2020. 2. 21.
Numpy : np.diag (대각선 요소의 값만 추출한 배열 구하기) np.diag import numpy as np sourceList = [(1, 2, 3), (4, 5, 6), (7, 8, 9)] sourceNDArray = np.array(sourceList) targetNDArray = np.diag(sourceNDArray) print(targetNDArray) [결과] [1 5 9] 출처: https://icodebroker.tistory.com/5277 [PYTHON/NUMPY] diag 함수 : 대각선 요소의 값만 추출한 배열 구하기 ■ diag 함수 : 대각선 요소의 값만 추출한 배열 구하기 --------------------------------------------------------------------------------------------.. 2020. 2. 21.
Numpy : np.reshape, flatten, ravel, newaxis (차원 변경) reshape A = np.array([1,2,3,4,5,6]) A.reshape(3,2) # A.reshape(-1,1) 위와 같은 것, -1은 열의 갯수에 맞춰서 행 갯수를 자동으로 정하는 것. """ [[1,2], [3,4], [5,6]] """ flatten, ravel A.flatten() # A.ravel() A A.shape """ [1,2,3,4,5,6] """ newaxis A[:, np.newaxis] """ array([[1], [2], [3], [4], [5], [6]]) """ meshgrid points = np.arange(-5,5,0.01) xs,ys = np.meshgrid(points, points) xs """ [[-5, -4.99 ------- 4.99, 4.99], .. 2020. 2. 21.
Python : decorater @ Decorater 데코레이터 목적 > 어떤 class나 함수에 기본을 지킨 상태로 code를 추가하고 싶을 때, 주로 사용한다. > @ 뒤에 함수이름이나 class 이름을 붙여주면 된다. 붙여줄 때는 def 함수로 보통 사용한다. 예시 - 1 (함수를 decorater로 받은 경우) import datetime def datetime_decorator(func): def decorated(): print datetime.datetime.now() func() print datetime.datetime.now() return decorated @datetime_decorator def main_function_1(): print "MAIN FUNCTION 1 START" @datetime_decorator.. 2020. 2. 20.
Pandas : DataFrame vs Series 차이점 우선! Series 는 DataFrame의 요소 중 하나라고 생각하면 된다. 즉 여러 개의 Series가 모여서 하나의 DataFrame이 만들어진다고 생각하면 된다. 위의 그림은 DataFrame과 Series의 차이점을 보여주려고 한다. 우선 DataFrame에서 DataFrame으로 뽑아내려면 [[]] 이중괄호를 해서 type을 DataFrame으로 해주어야한다. Series를 추출하려면 [] 하나만 적용해서 type을 Series로 하면 된다. target = boston[['Target']] -> pandas.core.frame.DataFrame target = boston['Target'] -> pandas.core.series.Series 예시 밑의 그림은 DataFrame과 Seri.. 2020. 2. 4.
Pandas : DataFrame.difference difference라는 method는 data의 columns에서 분리해내는 method에 포함된다. 여기서 list로 변환하는 이유는, difference의 return 값이 tuple이기 때문에 list로 변환해서 사용한다. 주로 머신러닝에서 변수와 y값으로 분리해내는 작업을 진행할 때 주로 사용한다. 2020. 2. 4.
Pandas : DataFrame axis axis 정의 > axis는 수직축을 말하며, 위와 같은 그림처럼 axis를 0,1,2 로 3차원 공간을 구분한다. axis=0 axis=0을 보면, "x축으로 합친다" 라고 생각하면 편하다. result = ex_array.sum(axis=0) axis=1 axis=2 결론 axis=None 이면, 모든 요소의 합을 스칼라의 값으로 반환한다. axis=0 이면, 여러 row들을 한 개로 합치는 역할이며 (x,y,z) -> (y,z) 로 shape가 변환된다. axis=1 이면, row별로 존재하는 여러 columns들을 한 개로 합치는 역할이며 (x,y,z) -> (x,z)로 shape가 변환된다. axis=2 이면, column의 depth를 가진 값으로 축소하며 (x,y,z) -> (x,y)로 sh.. 2020. 2. 4.
Pandas : DataFrame에서 [[]], .(param) 다른점 DataFrame에서 [[]] [[]]으로 하면 pandas.DataFrame 형태로 존재하며, columns의 이름이 살아있는 것을 볼 수 있다. 위의 그림처럼 .Price 로 column의 이름을 적어주면, pandas.DataFrame 형태가 아니라 pandas.Series 형태로 존재한다. DataFrame 형태가 아니고, Series 형태이기 때문에 column의 이름이 없다. 위의 차이점을 잘 알고 있자. 2020. 2. 3.
Pandas : Pandas.DataFrame 속성 Pandas.DataFrame DataFrame. index, colums DataFrame에서 처음 생성할 때 넣는 index, columns와, 나중에 DataFrame에 추가하는 index colums는 엄연히 다르다. 솔직히 이 부분은 안해보면 잘 모르는 부분이다. 생성자에서 정의하는 index는 표 안에서 있는 index를 말하며, 그림에서는 "Name" 부분이다. 생성자에서 정의하는 colums 는 표 위에 있는 columns를 말하며, 그림에서는 "hj, md"이다. DataFrame을 정의하고 부르는 index.name은 정말 index의 name을 정의해주는 것이기에 표위에 "test"처럼 index들의 특성을 나타내기 쉽다. DataFrame을 정의하고 부르는 columns.name은 .. 2020. 2. 3.
Numpy&Pandas : matplotlib anaconda 가상환경에 설치 Anaconda 가상환경에 설치 conda install matplotlib 처음에는 conda 명령어로 설치하였는데, 무슨 자꾸 권한이 없다고 떠서 pip install matplotlib 위의 명령어로 진행해보았다. 근데 다음과 같은 에러가 뜨면서 permission error가 뜬것을 볼 수 있다. 아.... 권한이 없었던 거 였다. conda 패키지에서 설치할 때는 std.error 뜨면서 글자가 깨졌는데, pip 패키지에서 설치하니 지금은 잘 보인다. pip install matplotlib --user 위의 명령어로 --user를 추가해서 실행하니 잘 깔렸다. 너무나도 잘 된다~~~~ 2020. 1. 31.