#. 색인 (.np.ix_, .iloc, .loc) *# 슬라이스 색인 (얕은 복사, 원본 갱신) - 1차원 : ar[n:m] # n~m-1 - 2차원 : arr[:2] # 행 우선 (n~1행) arr[:2, 1:] # (n~1행, 1~m열) # 다차원 색인 - arr[[1,5,3], [2,6,4]] # point 색인 (1,2), (5,6), (3,4) - arr[[1,5,3], [:,[2,6,4]] # 1,5,3행의 2,6,4열 # np.ix_() 함수 색인 - arr[np.ix_([1,5,3], [2,6,4])] # 1,5,3행의 2,6,4열 (np.ix_ 함수 : 위치 값으로 전달) # iloc[] 정수 색인 - df.iloc[0,:] # 0번째 행 - df.iloc[:,0] # 0번째 열 - d..
Multi-index & Multi-column #. 생성 - 인덱스의 개수, 상위 level & 하위 level의 개수가 일치해야 함 - 생성할 일은 많지 않음 :( 1. Series s1 = Series([1,2,3,4,5,6], index=[['a','a','b','b','c','c'], [1,2,1,2,1,2]]) s1a 1 1 2 2 b 1 3 2 4 c 1 5 2 6 dtype: int64 2. DataFrame 생성 후 설정 df1 = DataFrame({'value':[1,2,3,4,5,6], 'ind1':['a','a','b','b','c','c'], 'ind2':[1,2,1,2,1,2]}) df1 = df1.set_index(['ind1','ind2']) # 리스트 형식으로 인덱스에 동..
참고글 : [Python] Numpy 배열 메서드 NumPy (Numerical Python) - Array 구조의 객체 지원 - 수학적 반복 연산을 빠르게 처리 * array 구조는 단 하나의 데이터 타입만 허용 * 수학적 연산에 반복적인 벡터 연산 가능 (단, 문자 치환은 벡터 연산 불가) - 수학적 연산이 많은 딥러닝 수행 시 유용 * 딥러닝 구조의 핵심 데이터 타입 - 빠르고 효율적인 메모리 사용 # 모듈 적용# numpy 모듈을 np로 사용 import numpy as np # 생성 (.array, .arange, .random.randn)np.array([10,20,30])array([10, 20, 30]) np.arange(10) # 0 ~ n-1 까지의 값을 갖는 1차원 배열array([0..
딕셔너리(Dictionary) dic = { key1:value1, key2:value2, ...} # key, value 값을 갖는 자료구조 -> 빠른 입력과 출력# list in R = Python dictionary # Dictionary 생성>>> fruits = {'이름':'사과', '가격':2000, '수량':10}>>> fruits{'이름': '사과', '가격': 2000, '수량': 10}>>> type(fruits) # 새로운 key:value 삽입>>> fruits['크기'] = '중'>>> fruits{'이름': '사과', '가격': 2000, '수량': 10, '크기': '중'} # 수정 >>> fruits['크기'] = ['중','소'] # 리스트로도 수정 가능>>> fruits{..
튜플(tuple) : (읽기만 가능한)리스트 t = ( val1, val2, ... )# vector in R = Python list# 읽기만 가능한 리스트 (입력, 수정, 삭제 불가)# 주로 수정하면 안 되는 데이터셋에 사용 참고글 : [Python] 리스트 (list) # 튜플 생성>>> t1 = (1,2,3)>>> t1(1, 2, 3) >>> t1 = 1,2,3>>> t1(1, 2, 3) >>> t1 = (10) >>> t110>>> type(t1) # 하나의 원소만 삽입 시 스칼라 원소로 적용 >>> t2 = (10,) >>> t2(10,)>>> type(t2) # 하나의 원소를 튜플로 삽입 시 ,(콤마)와 함께 사용 # 튜플은 수정, 삽입, 삭제 불가>>> t1 = (1,2,3) >>> t1[..
참고글 : [Python] 리스트 메서드 (list method) 리스트 (1차원 자료구조 = 배열) l = [val1, val2, ...]# vector in R = Python list # 리스트 생성>>> l1 = [1,2,3,4,5,6,7,8,9,10] # 리스트의 요소 추가 : append>>> la = []>>> la.append(1)>>> la.append(2)>>> la[1, 2] # 리스트의 요소 삭제 : del>>> l1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]>>> del(l1[2]) # 특정 위치의 요소 삭제>>> l1[1, 2, 4, 5, 6, 7, 8, 9, 10] >>> l1[2:4] = [] # 슬라이스 색인으로 여러 요소 삭제 >>> l1[1, 2, 6,..
#. 리스트 생성R에서 vector라고 불렀다면.. Python에서는 list라고 불러다오.. # 대괄호로 리스트 생성>>> l1 = [1,2,3] >>> l1[1, 2, 3] # 리스트는 중첩으로 생성 가능 -> R에서는 벡터 안에 벡터 생성이란 불가능했지만, 파이썬에서는 가능하다는 것!>>> l1 = [1,2,[3,4]]>>> l1[1, 2, [3, 4]] #. 리스트 색인>>> l1[1, 2, 3] # 파이썬의 색인은 0부터 시작 >>> l1[1] 2 # list[n:m] : n ~ m-1 까지 추출>>> l1[0:2] [1, 2] # 1차원 색인 시, 차원의 숙소가 일어나 리스트가 아닌 벡터로 출력>>> l1[0]1 #. 리스트 원소 추가>>> l1 = [1,2,3]>>> l1.append(4) ..
Data Table(데이터 테이블) 데이터 테이블은 성능과 관련해서 중요한 개념입니다. Table 구조의 데이터의 특정 컬럼별 주소값을 갖는 index를 생성하여 key를 통한 연산 및 검색을 빠르게 수행 데이터 색인 혹은 연산 시 인덱스를 설정한 테이블과 설정하지 않은 테이블의 성능 차이가 데이터가 방대해질 수록 커지기 때문에 대용량의 데이터 처리를 위해 인덱스는 필수! 입니다. 데이터 테이블(data table) : 인덱스(목차) 설정이 가능한 데이터 프레임 Key별로 가지고 있는 주소값을 통해 저장공간을 효율적으로 색인(인덱싱)할 수 있습니다. 데이터 테이블은 찾고자 하는 정보 기반으로 주소를 저장하기 때문에, 조건 연산 수행 시 가장 빠른 특징이 있습니다.특히, key를 통한 조건 검색(색인), ..