1. 파이썬 리스트 이용: np.array([list])
2. 0또는 1로 채우기: np.zeros(), np.ones()
3. 일정한 간격을 가지는 숫자 배열: np.arange()
4. 일정 범위 안에서 일정 갯수를 가진 배열: np.linspace()
5. 랜덤 값을 가지는 배열: np.random.rand() / randint() / randn()
6. 등등
- np.arrange(start,end) : start ~ end-1
- np.random() : 임의의 값을 만들어 좌표상에 찍어놓고 테스트할 때 사용
4) 배열 요소 접근 및 범위 선택
1. 배열 요소 접근 방식은 파이썬 리스트와 동일
2. 범위 접근자(:) 사용 시 범위에 주의하기 ( 1:5 는 1부터 4까지를 의미 )
3. 배열 복사(메모리 문제 방지): XXX.copy()
4. 특정 조건에 해당하는 데이터 선택은 인덱스 사용
5) 배열 다루기
1. 배열 모양 확인: XXX.shape()
2. 배열 내의 데이터 자료형 확인: XXX.dtype
3. 배열 모양 변경: XXX.reshape()
4. 데이터 타입 변경: XXX.astype()
☆ 모든 데이터 로드 후 불러온 데이터의 모양과 크기를 확인하기 위해 shape()를 해주어야 함
- np.concatenate() : 배열 합치기
- rst[] : 배열 쪼개기
▶ Pandas
▷ Numpy의 한계점
→ 데이터를 인덱스로만 접근할 수 있음
▷ Pandas
- dataframe(numpy+name) : 배열의 row와 col의 이름을 설정할 수 있음
1. DataFrame = Series + Series + ... + Series
2. 거의 모든 데이터 처리에 DataFrame 사용
3. 데이터프레임 정보 보기: head(), shape(), info(), describe()
4. 특정 요소에 접근하기
5. 데이터프레임 쪼개고 합치기
6. 누락 데이터 처리하기
- head() : 첫 5줄만 출력
- shape() : 데이터의 전체적인 개수, 속성의 개수
- info() : null값, 자료형 확인 가능
- describe() : 숫자형으로 되어 있는 컬럼의 기본적인 통계수치
5) DataFrame Row 접근
1. loc : 라벨값 기반의 2차원 인덱싱
2. iloc : 순서를 나타내는 정수 기반의 2차원 인덱싱 (일반 배열처럼 사용)
6) DataFrame 합치기
1. 새로운 col 또는 row 추가
2. col을 기준으로 데이터프레임 병합
3. row를 기준으로 데이터프레임 병합
→ pd.cocat()
7. 결측 데이터 처리
1. 데이터프레임에 결측 데이터가 있는지 확인
2. 결측 데이터 처리를 어떻게 할 것인가?
1) 데이터가 충분히 많은 경우: 결측 데이터를 포함한 row를 제거
2) 데이터 하나 하나가 소중한 경우: 결측값을 다른값으로 대체
- isnull() : 결측값이 있는지 확인
- dropna() : 결측값 제거
- fillna() : 특정 값으로 결측값 대체
▷ numpy vs pandas
- numpy : ml, dl
- pandas : static, da
▶ Matplotilib
→ 데이터를 가지고 그리는 방법보다 무엇을 그려야할지가 더 중점
1) Matplotlib 사용하기
import matplotlib.pyplot as plt
2) 기본 그래프 그리기
3) 그래프 옵션 조정
1. plot() 옵션
- color : 선 색깔 변경
- marker : 데이터 변화(꺾임) 부분 표시
- label : 범례값 지정
- linestyle : 선 모양
2. 그래프 옵션
- plt.xlabel() : x축 설명
- plt.ylabel() : y축 설명
- plt.title() : 그래프 제목
- legend() : 범례 표시
- plt.xlim() : x축 범위
- plt.ylim() : y축 범위