파이썬 (쥬피터) [2021.04.22]/2일차

파이썬 2일차 개념정리 (pandas 10 minutes+@)

영성 2021. 4. 27. 16:27

#필요한 라이브러리(=클래스=패키지=모듈) 임포트
import pandas as pd # 시리즈(1차원), 데이터프레임(2차원) 데이터 분석 라이브러리
import numpy as np # 숫자, 행령 데이터 라이브러리

- (.__version__) : 버전확인

 

1. Object creation

 - pd.DataFrame() : 2차원데이터 # 몇개의 데이터를 생성할 지 입력해야 한다 

 - np.nan  # NaN 값 출력

 - Series : 1차원 데이터

 - periods = n번을 순차적으로 진행

 - freq = 자료 변경값 설정

 - np.random.randn( , ) = (행, 열) 안에 랜덤한 값을 생성

 - range( , ) = 행과 열 생성 # 하나만 적을 경우 행만 생성 ex) range(6)=6개의 행 생성

 - .array()=배열 list와 비슷함

 - .index : 행 

 - .culumns : 열

 - .shape : 행령의 갯수를 알려 준다 ( n , n )

 - .info() : 데이터의 자료형 분류

 

2. Viewing data

 - .tail() : 뒤에서부터 3개의 자료를 출력

 - .values [] [] : list처럼 자료를 찾을 수 있다 [행] [열]

 - .T : 행과 열을 바꿔서 보는 명령

 - axis : 축  ex) '=1'일 경우 열(culumns)을 축으로 '=0'일 경우 행(index)를 축으로 한다

 - ascending : 오름차순(=True) 내림차순(=False)

 

3. Selection

 (1)Getting

   - 변수[] : 열의 데이터를 넣을 경우 선택열의 모든 행 실행, 행의 데이터를 넣을 경우 선택행의 정보

               [0:3] = 0번째 행부터 2번재행까지  [3:] = 3번째 행부터 끝까지  [:3] = 2번째 행까지

                ['   ' : '   '] = 직접 그 행의 이름을 넣어도 된다

 (2) Selection by label : loc[]

   - 변수.loc[] : 선택한 데이터 불러오기  (문자열만 사용가능)

      ex) 변수.loc [:, ['A', 'B']]  # 모든 행은 불러오고  A부터 B열까지 불러옴

 (3) Selection by label : iloc[]

   - 변수.iloc[] : 선택한 데이터 불러오기  (숫자만 사용가능)

      ex) 변수.iloc[3:5, 0:2] 3에서 4번째 행의 0에서 1번째 열만 불러옴

 (4) Boolean indexing(조건에 맞는 값 가져오기)

   - 변수[변수['']>0] 또는 변수[변수>0] : 조건부 사용 가능

   - 변수.copy() : 새로운 값 추가새로운 값 추가 다른 값 위에 사용하면 덮여서 사용된다 (충돌X)

 (5) Setting

   - 모든 기능 사용 가능하며 연산도 가능 (예제 참고)

 

4. Missing data

 - 변수.reindex()  : 지정한 데이터 안에 추가로 데이터를 생성한다

 - 변수.dripna() : 지정한 행들을 모두 삭제 (지우는 것은 잘 하지 않고 채우는 것을 많이 쓴다.

 - 변수.fillna() : 지정한 값에 다른 값을 채운다

 - pd.isna(변수) : NaN값이 있는지 확인

 

5. Operations

 (1) Stats(통계 데이터)

   - 변수.mean() : 평균값을 구한다 (0은 열을 기준, 1은 행을 기준)

   - .shift() : 적용한 칸 만큼 이동한다 밀리는 값은 사라지고 NaN으로 채워진다 (주식 예측에 주로 사용됨)

   - 변수.describe() : 각족 자료를 보여줌
 (2) Apply

   - 변수.apply() : 평균값이나 최대, 최소 값을 구할 때 사용

   - (np.cumsum) : 밑으로 갈수록 누적합계

   - 변수[].max() : 최대값 (min()은 최소값)

 (3) Histogramming

   - 변수.value_counts() : 데이터가 몇개 있는지 알려줌

 (4) String Methods

   - 변수.str.lower : str.은 모든 문자열의 모든 데이터 적용 lower()는 소문자로 변경

                                                                (대분자는 .upper(), 제일 앞문자만 대문자로는 .capitalize())

 

6. Merge

 (1) Concat : (예재 참고)

 (2) merge : (예재 참고)

 

7. Grouping

 - groupby() : 같은 문자일 경우 하나로 표현된다  # 문자열은 따로 불러내야 나올 수 있다 (예재 참고)

 

8. Reshaping

 (1) stack

   - tuples = 서로 다른 두 배열을 순서대로 묶어서 표현

   - MultiIndex : 동시에 여러 작업 가능

   - 변수.stack() : 데이터를 쌓아서 보여줌 (예재 참고)

   - 변수.unstack() : 원상복귀

 (2) Pivot tables ☆ (쓸일이 많다) (예제참고)

 

엑셀 다루는 판다스

 - 변수['  '] = '  ' : 새 column 추가 (맨 마지막에 컬럼 추가)

 - 변수.insert() : 원하는 위치에 컬럼추가

 - 기본 테이블을 멀티 컬럼, 인덱스로 바꾸기

 - 변수.drop(['  '], axis= ) : 이름으로 행, 열 삭제

 - (인덱스로) n번째 행 삭제 (예제참고)

 - 마지막 행에 컬럼 별 합계 삽입 (예제참고)

 - 데이터프레임으로 만들기 (예제참고)