본문 바로가기

Programming177

[Pandas] 함수들 ABS 각 요소의 절대값을 나타내 준다. APPLY각 열이나 행 전체를 파라미터로 전달하고 결과를 리턴받는다. 위의 첫번째는 b,c,d 각각의 열을 파라미터로 받아 max - min을 진행하였고, 아래 그림은 apple, banana, egg, orange의 각 행을 파라미터로 받아 max - min을 진행한 결과이다. 열이나 행이 아니라 각 요소에 적용하고 싶다면 applymap을 이용한다. 정렬Pandas에서는 sort_index 함수를 이용하여 정렬을 한다. DataFrame, Series 모두 적용 가능하다. 기본적으로 sort_index를 하면 index에 대해 정렬이 되고, axis=1로 설정할 경우 column에 대해서 정렬이 된다.sort_index의 파라미터로 ascending=False.. 2015. 3. 23.
[Pandas] 산술 연산 DataFrame 간의 연산 DataFrame간 연산을 하려면 그냥 연산자와 함께 입력해주면 된다. 위의 그림에서 보면 ['apple','banana','orange'] 인덱스를 가진 dataframe과 ['apple','banana','orange','egg'] 인덱스를 가진dataframe 간의 덧셈 연산을 수행하였다.index가 존재하여 연산할 수 없을 경우에는 NaN으로 표시되는 것을 확인할 수 있다. 또한 Column이 존재하지 않을 때도 NaN표시가 나타난다. 덧셈 연산에 add라는 함수를 이용한 후, option으로 fill_value를 지정해 주면 NaN 대신 지정한 값이 표시된다. 위 그림에서 보면 fill_value를 0으로 지정해주었기 때문에 orange 같은 경우 0 + 33이 되기.. 2015. 3. 22.
[Python] pyenv 설치하기 Virtualenv를 잘 사용하고 있었는데, 어제 스터디를 갔다가 발표자 분께서 pyenv를 사용하고 계신 것을 우연히 보게 되었다. pyenv 모지??? 찾아보니, virtualenv가 python의 패키지 설치 등에 대해 가상환경을 제공하는 것이라면, pyenv는 다양한 python 버전 별로실행해 볼 수 있는 환경을 제공한다고 한다. 기존 virtualenv를 pip freeze 한 후 과감히 삭제..이제 pyenv를 깔아보자. pyenv를 apt-get이나 pip로는 받을 수 없고 git을 통해 받아야 하는 것 같다. $> sudo apt-get install curl git-core github에 있는 pyenv-installer를 받아서 실행시킨다. (반드시 root 권한에서 실행하자!) $>.. 2015. 3. 17.
[Pandas] row, column 처리 재색인 Pandas는 reindex라는 함수를 통해 기존 index를 새롭게 재배치 할 수가 있다. '어?? 분명 Series 공부할 때, obj.index = ['a','b','c','d'] 이런식으로 index를 다르게 줬었는데.. 이건 왜 필요하지??' 분명 이전에 obj.index = ['a','b','c','d'] 이런 식으로 index 명칭을 변경했었다. 하지만 이건 재색인이라기 보다는 그냥단지 index의 명칭을 기존 명칭에서 ['a','b','c','d']로 바꾼 것 뿐이다. reindex에 대한 예제 코드를 본다면 위의 기능과 크게 다른 것임을 느끼게 될 것이다. reindex를 통해 index에 해당하는 값들이 재배치된 것을 확인할 수 있을 것이다. 또한 index에 해당하는 값이 없다.. 2015. 3. 16.
[Pandas] 자료구조 Pandas란? 데이터 분석, 데이터 처리 등을 쉽게 하기 위해 만들어진 python package이다.보다 안정적으로 대용량 데이터들을 쉽게 처리할 수 있다고도 알려져 있다. SeriesSeries는 value와 index의 형태를 지니는 Pandas의 자료 구조이다.아래 그림과 같이 [1,3,5,7]의 값을 가지는 리스트를 Series로 생성하게 되면 (1,3,5,7)이라는 value와 (0,1,2,3)이라는 index가생성되어 Series라는 형태의 자료 구조를 만든다. index는 사용자가 직접 생성할 수 있으며, value에 대한 접근은 index를 사용하여 접근한다.Series의 색인은 사용자가 변경하고 싶을 경우 obj.index 값을 변경함으로써 언제든지 변경할 수 있다. 또한 dictio.. 2015. 3. 15.
[NumPy] ndarray 데이터 처리 where NumPy에서는 where을 이용한 조건 결과 찾기가 가능한다. 가령 아래와 같은 배열집합이 있다고 가정하자. arr1 = np.array([1, 3, 5, 7, 9])arr2 = np.array([2, 4, 6, 8, 10])cond = np.array([True, False, True, True, False]) cond의 원소가 True일 때 arr1의 값을 찾고, False일때는 arr2의 값을 찾아야 한다고 하면 아마 아래와 같이 작성할 것이다. result = [(x if c else y) for x, y, c in zip(arr1, arr2, cond)] where 함수를 사용하면 더 간단하게 작성할 수 있다. result = numpy.where(cond, arr1, arr2) w.. 2015. 3. 14.
[Numpy] ndarray 내장 함수 ndarray에는 다양한 내장 함수가 존재한다. 함 수 설 명 비고 abs, fabs 절대값을 리턴. 복소수가 아닌 경우에는 빠른 연산을 위해 fabs를 이용한다. numpy.abs(arr) sqrt 제곱근(루트)을 계산함. numpy.sqrt(arr) square 제곱을 계산함. numpy.square(arr) Exp 지수를 계산함. numpy.Exp(arr) Log 로그를 계산함. numpy.Log(arr) sign 각 원소의 부호를 계산함. 양수 : 1, 음수 : -1 numpy.sign(arr) ceil 소수를 올림으로 계산함. numpy.ceil(arr) floor 소수를 버림으로 계산함. numpy.floor(arr) rint 소수를 반올림한다. type은 유지된다. numpy.rint(arr.. 2015. 3. 13.
[Numpy] ndarray 연산 ndarray 연산ndarray는 아래와 같은 방법으로 연산이 가능하다. ndarray에서의 연산은 for문 연산이 아니기 때문에 일괄처리가 가능하다. ndarray 슬라이싱ndarray도 python 문자열이나 list 처럼 슬라이싱이 가능하다.아래의 그림을 보면 0부터 9까지 저장되어 있는 1차원 배열 형태의 ndarray를 만들었고, 처음부터 5번째 까지만슬라이싱 하도록 되어 있다. 리스트 슬라이싱과의 중요한 차이점은 리스트의 경우에는 슬라이싱을 할 경우 데이터 복사가 이루어지지만 ndarray 슬라이싱의 경우는 원본 배열은 그대로 저장되어 있고 사용자에게 보여주는 뷰만 다른 형태로 보여주는것이기 때문에 데이터 복사가 이루어 지지 않는다. (데이터 베이스의 뷰 테이블과 비슷한 개념) 뷰 형태로 보여.. 2015. 3. 12.
[NumPy] ndarray 기본 NumPy란? Numerical Python의 줄임 말로써 고성능의 수치 계산을 하기 위해 만들어진 python package이다.파이썬을 이용한 데이터 분석을 하기 위해서는 pandas 뿐만 아니라 numpy를 익혀야만 보다 호율적인 데이터 분석이가능하다. ndarrayNumPy에서 가장 강력한 무기로 칭송받고 있는 N차원의 배열 객체.ndarray는 기존 파이썬과는 다르게 오직 같은 종류의 데이터만을 배열에 담을 수 있다. ndarray의 생성NumPy의 array함수를 통해 쉽게 배열 형태로 만들수 있다. 또한 zeros, ones 함수를 통해 0행렬, 또는 모든 행렬 값이 1인 행렬을 만들 수 있다.empty 함수는 행렬 값이 초기화되지 않은 행렬을 생성한다. arange 함수를 통해 범위 내의 .. 2015. 3. 10.