Programming/python(68)
-
[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.03.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.03.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.03.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.03.13 -
[Numpy] ndarray 연산
ndarray 연산ndarray는 아래와 같은 방법으로 연산이 가능하다. ndarray에서의 연산은 for문 연산이 아니기 때문에 일괄처리가 가능하다. ndarray 슬라이싱ndarray도 python 문자열이나 list 처럼 슬라이싱이 가능하다.아래의 그림을 보면 0부터 9까지 저장되어 있는 1차원 배열 형태의 ndarray를 만들었고, 처음부터 5번째 까지만슬라이싱 하도록 되어 있다. 리스트 슬라이싱과의 중요한 차이점은 리스트의 경우에는 슬라이싱을 할 경우 데이터 복사가 이루어지지만 ndarray 슬라이싱의 경우는 원본 배열은 그대로 저장되어 있고 사용자에게 보여주는 뷰만 다른 형태로 보여주는것이기 때문에 데이터 복사가 이루어 지지 않는다. (데이터 베이스의 뷰 테이블과 비슷한 개념) 뷰 형태로 보여..
2015.03.12 -
[NumPy] ndarray 기본
NumPy란? Numerical Python의 줄임 말로써 고성능의 수치 계산을 하기 위해 만들어진 python package이다.파이썬을 이용한 데이터 분석을 하기 위해서는 pandas 뿐만 아니라 numpy를 익혀야만 보다 호율적인 데이터 분석이가능하다. ndarrayNumPy에서 가장 강력한 무기로 칭송받고 있는 N차원의 배열 객체.ndarray는 기존 파이썬과는 다르게 오직 같은 종류의 데이터만을 배열에 담을 수 있다. ndarray의 생성NumPy의 array함수를 통해 쉽게 배열 형태로 만들수 있다. 또한 zeros, ones 함수를 통해 0행렬, 또는 모든 행렬 값이 1인 행렬을 만들 수 있다.empty 함수는 행렬 값이 초기화되지 않은 행렬을 생성한다. arange 함수를 통해 범위 내의 ..
2015.03.10