일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Stack
- 알고리즘 스터디
- dataframe
- Selenium
- 자료구조
- javascript
- pandas
- programmers
- NumPy
- Join
- 백준
- 정보처리기사 c언어
- 노마드코딩
- openCV
- 프로그래머스
- aws jupyter notebook
- 가상환경
- queue
- 데이터시각화
- 알고리즘
- 파이썬
- type hint
- 선그래프
- Matplotlib
- Algorithm
- MySQL
- python
- 코딩테스트
- 알고리즘스터디
- String Method
- Today
- Total
목록Python/Numpy & Pandas (19)
조금씩 꾸준히 완성을 향해
Index를 활용하는 다양한 함수들 (설정, 재설정, 초기화) ▶ set_index() : 특정 열을 행 인덱스로 설정 #데이터 확인 df # '이름' 열을 index로 지정 ndf = df.set_index('이름') ndf # '수학'과 '체육'열을 인덱스로 지정 ndf3 = df.set_index(['수학','체육']) ndf3 ▶ reindex() : 데이터 프레임의 행 인덱스를 새로운 배열로 재지정 (새로운 객체 반환) # 데이터 확인 dic # index 지정해서 데이터프레임 생성 df = pd.DataFrame(dic, index=['r0', 'r1', 'r2']) df # index를 새로운 배열로 변경 # 요소들이 존재하지 않을 경우 자동적으로 NaN으로 처리 ndf = df.reinde..
행/열 삭제 drop() 축 옵션으로 axis=0을 입력하면 행 삭제 (default 설정이라 생략가능) 축옵션 axis=1을 입력하면 열을 삭제 동시에 여러 개의 행 또는 열을 삭제하려면, 리스트 형태로 입력 원본을 변경하지 않고 새로운 객체를 반환하기 때문에 원본 객체를 변경하려면 inplace=True 옵션 사용 행 삭제 # 인덱스가 '우현'인 행 삭제 df2 = df.copy() # df2에 원본 데이터 복사 df2.drop('우현', inplace=True) # df2 직접변경 df2 # 인덱스가 '우현', '인아'인 행 삭제 df3 = df.drop(['우현', '인아'], axis = 0) #원본에서 수정된 데이터를 바로 df3으로 받기 df3 열 삭제 # '수학' 열 삭제 df4 = df...
DataFrame 객체 데이터 테이블 전체를 지칭하는 객체 넘파이 배열의 특성을 그대로 가짐 indexing : 열과 행 각각 사용하여 하나의 데이터에 접근 데이터프레임 생성 딕셔너리 타입 데이터에서 Key는 열이름, Value는 시퀀스형 데이터 타입을 넣어 각 열의 데이터로 만듦 # dictionary > DataFrame datas = {'나이': [15, 17], '성별': ['남', '여'], '학교': ['덕영중', '수리고']} pd.DataFrame(datas, index=['준서', '예은']) 리스트 타입 데이터에서 행과 열을 별도로 지정해서 데이터 프레임 생성 # List > DataFrame datas = [[15, '남', '덕영중'], [17, '여', '수리고']] pd.Data..
Pandas python의 데이터 분석 라이브러리 -> 데이터 테이블을 다루는 도구 (정형 데이터) 기본적으로 numpy를 사용 numpy : python에서 배열을 다루는 최적의 라이브러리 pandas는 numpy를 효율적으로 사용하기 위해 인덱싱, 연산, 전처리 등 다양한 함수 제공 Pandas의 개념 Data Frame : 데이터 테이블 전체 객체 Series : 각 열 데이터를 다루는 객체 Series Feature Vector 와 같은 개념 일반적으로 하나의 피쳐 데이터를 포함하는 형태 생성된 데이터 프레임 안에 포함될 수 있음 list, dict, ndarray 등 다양한 데이터 타입이 시리즈 객체 형태로 변환되기도 함. 시리즈 객체를 생성하면 세 가지 요소(property) 생성 Data :..
비교 연산 연산결과는 항상 boolean type을 가진 배열로 추출 1-1 브로드캐스팅 비교연산 하나의 스칼라 값과 벡터 간의 비교 연산은 벡터 내 전체 요소에 적용 x = np.array([4,3,2,6,8,5]) x > 3 # array([ True, False, False, True, True, True]) x == 3 #array([False, True, False, False, False, False]) x != 3 #array([ True, False, True, True, True, True]) 1-2 요소별 비교연산 두 개의 배열 간 배열의 shape이 동일한 경우만 가능 같은 위치에 있는 요소들끼리 비교 연산 [1>2, 3>1, 0>7]과 같이 연산이 실시된 후 이를 반환 x = np...
산술 연산 (Arithmetic Operators) -넘파이는 파이썬과 동일하게 배열 간 산술 연산 지원 행렬과 행렬, 벡터와 백터 간 연산이 가능 -같은 배열의 구조일 때 요소별 연산(element-wise operation) 요소별 연산 : 두 배열의 구조가 동일할 경우 같은 인덱스 요소들끼리 연산 # a1 확인 a1 = np.arange(1, 10) print(a1) # [1 2 3 4 5 6 7 8 9] # 여러가지 산술 연산자, 함수 print(a1+1) #[ 2 3 4 5 6 7 8 9 10] print(np.add(a1, 10)) #[11 12 13 14 15 16 17 18 19] print(a1-2) #[-1 0 1 2 3 4 5 6 7] print(np.subtract(a1, 10)) ..
reshape() : 배열의 구조를 변경하고 rank(차원수)를 조절 array.reshape(변환 shape) np.reshape(array, 변환 shape) x = np.array([[1, 2, 5, 8], [1, 2, 5, 8]]) print(x.shape) # 배열 X의 구조 확인 print(x.reshape(-1,)) # 차원을 -1 낮춘다 (2차원 -> 1차원) x = np.array(range(8)).reshape(4, 2) print(x) # 배열 x를 4행 2형의 구조로 변경(1차원 -> 2 차원) # -1 : 가능한 shape을 자동 계산하여 반영해 준다. x.reshape(2, -1) # x를 2행의 배열로 변경 (열은 자동 생성) x = np.array(range(8)).resha..
▶ zeros() : 모든 요소를 0으로 초기화 ▶ones() : 모든 요소를 1로 초기화 ▶ full() : 모든 요소를 지정한 값으로 초기화 ▶ eye() : 단위행렬(identity matrix) 생성 : 주대각선의 원소가 모두 1이고 나머지 원소는 모두 0인 정사각 행렬 ▶ tri() : 삼각행렬 생성 ▶ empty(): 초기화되지 않은 배열 생성 초기화가 없어서 배열 생성비용 저렴하고 빠름 초기화되지 않아서 기존 메모리 위치에 존재하는 값이 있음 ▶ _like() : 지정된 배열과 shape가 같은 행렬 생성 np.zeros_like() np.ones_like() np.full_like() np.empty_like()
배열의 구조 확인 (shape 함수) ▶ 1차원 배열 구조 # 1차원 test_array = np.array([1, 4, 5, 8], float) print(test_array.shape) # 배열의 구조(shape)를 반환 (튜플 형태로) # output : (4,) => 요소의 개수 ▶ 2차원 배열 구조 # 2차원 matrix = np.array([[1,2,5,8], [1,2,5,8], [1,2,5,8]]) print(matrix.shape) # output : (3, 4) => (백터의 개수, 백터의 자리수) = (행의 개수, 열의 개수) ▶ 3차원 배열 구조 # 3차원 tensor_rank3 = [[[1,2,5,8], [1,2,5,8], [1,2,5,8]], [[1,2,5,8], [1,2,5,8]..