일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 균일분포
- 연속확률변수
- 통계학개론
- 베르누이분포
- 행사다리꼴
- 모수
- 이산확률질량함수
- 기본행연산
- 확률밀도함수
- 피어슨상관계수
- 수학적확률
- 첨가행렬
- 누적분포함수
- 기댓값과 분산
- 범주형자료
- Anaconda
- 이산형
- 모평균
- 수치형자료
- pmf
- 표본평균
- jupyter notebook
- 통계학입문
- 표본공간
- 절삭평균
- 사조사
- 이항분포
- 포아송분포
- 조건부확률
- 이변량자료
- Today
- Total
Syeonny의 블로그
[Python] 왕기초 (2) 본문
240906
Python 왕기초 (2)
numpy
넘파이 설치 및 불러오기
pip install numpy
import numpy as np
1차원 리스트
2차원 행렬
3차원 벡터
- 축
2차원 axis 0 행 axis 1 열
- np.array
np.array()로 array 만들기
array1 = np.array([1,2,3,4,5])
array2 = np.array([[1,2,3],[4,5,6]])
array3 = np.array([[[1,2,3],[4,5,6]]])
print(array1.shape)
print(array2.shape)
print(array3.shape)
3차원 차원 / 행 / 열
- 차원 확인 방법
이름.ndim
이름.shape
이름.dtype
- 차원 변경
이름.reshape(n,n)
n은 여기서 만들고자 하는 차원 숫자 넣으면 됨
-1을 이용: 만약 행/열 중 한쪽만 지정하고, 나머지는 바꾸고자 하는 거에 따라 알아서 지정하게
reshape(3,-1)
reshape(-1,2)
- 인덱싱 사용
인덱싱 사용하여
이름[행, 열]
이름[[행],:]
이름[[행], [열]]
- 슬라이싱 사용
슬라이싱 사용 시 무조거 2차원배열로 보여줌
마지막값 -1까지 보여줌
- 조건 조회
조건에 맞는 요소만 보여주며 1차원 배열로 보여줌
- 사칙연산
+ or np.add(x, y)
- or np.subtract(x, y)
* or np.multiply(x, y)
/ or np.divide(x, y)
** or np.power(x, y)
np.sum(x)
열끼리의 합 집계: 행이 기준 axis = 0
행끼리의 합 집계: 열이 기준 axis =1
- 최대합 최소합
np.argmax(이름)
np.argmin(이름)
- 조건
np.where(조건문, 조건이 TRUE, 조건이 FALSE)
pandas
판다스 설치 및 불러오기
pip install pandas
import pandas as pd
- 데이터 가져오기
df = pd.read_csv('csv')
- 상위 / 하위 5개 데이터 확인
df.head()
df.tail()
- 데이터 크기 확인: df.shape
- 데이터 자료형 확인: df.dtypes
- 데이터 기본 자료 확인: df.info()
- 데이터 기초통계량 확인: df.describe()
- 데이터 정렬
sort_values()
ascending=True: 오름차순 정렬(기본값)
ascending=False: 내림차순 정렬
- 데이터 고윳값 확인: df. unique()
- 데이터 고윳값과 개수 확인: df.value_counts()
- 데이터 집계 합수
df.sum()
df.max()
df.mean()
df.median()
- 데이터 조건 확인
df.loc[조건]
df.isin([값])
df.between(값1, 값2) 값 1 2 사이의 범위 데이터만 조회
생략 시 inclusive = 'both' (default) 'left' 'right' 'neither'
수업 이외의 내용 추가
Numpy
- np.zeros((행, 열)) 값이 모두 0인 배열 생성
- np.ones((행, 열)) 값이 모두 1인 배열 생성
- np.full((행, 열), 원하는 값) 원하는 값으로 채워진 배열 생성
- np.eye((숫자)) 숫자*숫자 단위행렬
- np.random.random((행, 열)) 무작위값으로 채워진 배열 생성
- np.dot(x, y) 행렬 곱
- 변수.T 전치행렬
정수 인덱싱 / 슬라이스 인덱싱
정수 인덱싱과 슬라이싱 함께 사용하면 차원이 감소됨
* 브로드캐스팅
행렬의 크기가 서로 다르다면, (x = (3,3) y = (1,)) 벡터 y를 반복하여 shape을 맞춰줌
두 행렬이 모든 차원에서 호환가능하면 브로드캐스팅이 됨
Pandas
Series시리즈: 인덱스가 존재하는 1차원의 배열
속성 index / values 존재
- 시리즈 행 추가 방법: df.append()
- iloc loc
loc 값 하나만 주면 행을 대상으로 작동함. dataframe에 정의된 index에 대해 인덱싱 작동함.
인덱싱하는 값을 포함하여 결과를 반환함.
'라벨' 기준
iloc 열에 대한 인덱싱 가능. '위치' 기준
if df 0~5까지 있으면
df.loc[:3] 0 1 2 3 행까지 보여줌
df.iloc[:3] 0 1 2 행까지 보여줌
- idxmax() 최대 값을 가진 인덱스를 반환함
- iterrows() 행 단위의 데이터 프레임 순환
- isnull().sum() 열마다 결측값의 수 반환
- dropna() 결측치 있는 모든 행 삭제
- fillna() 결측치 채움
- get_dummies() 범주형 데이터를 이진형식으로 변환 원핫인코딩
- drop_duplicates() 중복행이나 값 제거
'파이썬' 카테고리의 다른 글
[Python] 왕기초 (4) (0) | 2024.09.10 |
---|---|
[Python] 왕기초 (3) (0) | 2024.09.10 |
[Python] 왕기초 (1) (0) | 2024.09.05 |
[Python] 헷갈리는 함수 모음 (0) | 2024.09.03 |
넘파이 기초 2 (0) | 2024.03.26 |