본문 바로가기

Data/Python

[Data/Python]실습_EDA: 수치형, 범주형 기술통계

NumPy

배열 : NumPy의 객체인 배열(array)을 생성하기 위해서는 기본적으로 "array"함수 사용

 

집합은 중복을 허용하지 않음. 집합으로 설정하면 중복제거된 나머지만 남음

nums=np.array([1,2,2,3])
set(nums)     # {1,2,3}. 집합으로 설정->중복제거
np.unique(nums)   # array([1,2,3]). 중복 제거하고 고유한 것만 남겨라

 

np.arange(3, 8, 2)   #array([5,10,15]). 3부터 7까지 2씩 증가하는 수열 생성
np.where(nums==2,1,0)   #array(['no!', 'ok!', 'ok!', 'no!'], dtype='<U3'). if문 간결버전. nums==2일 경우에 1, 아니면 0

 

 

Pandas 객체

시리즈(Series)

  • Pandas 객체의 1차원 객체
  • value, index로 구성
pd.Series([1,2,3],index=["a","b","c"])   #a인덱스의 값 = 1, b인덱스의 값 = 2, c인덱스의 값 = 3

 

 

시리즈의 생성 및 메서드(다 알아야함!!)

ser.sum() # 합계
ser.min() # 최소값
ser.max() # 최대값
ser.mean() # 평균
ser.std() # 표준편차
ser.skew() # 왜도
ser.kurt() # 첨도
ser.unique() # 고유값
ser.idxmax() # 최대값의 위치
ser.isin([1,2]) # 포함 여부 검사
ser.isin([1,2]).sum()  # 1,2가 몇개인지 출력

 

 

 

데이터프레임(DataFrame)

  • Pandas 객체의 2차원 객체
  • value와 row index, column index로 구성
  • 변수별로 문자, 숫자 등 다른 속성 지정 가능
  • 기본적으로 딕셔너리를 활용하여 생성

iloc : 정수 기반 인덱싱, loc : 문자 기반 인덱싱

헷갈렸던 점

df=pd.DataFrame({"aa":[1,2,3],"bb":[4,5,6]})

1,2,3과 4,5,6이 열을 기준으로 값이 들어감

 

df=pd.DataFrame([[1,2],[3,4],[5,6]],columns=["xx","yy"])

행을 기준으로 값이 들어감

 

데이터 요약

crosstab

  • 두 변수를 조합하여 살펴볼 때 사용하는 Pandas 함수
  • normalize 인자에 True, 1, 0 값을 할당하여 값을 정규화함
pd.crosstab(df["aa"],df["bb"])

 

 

groupby

  • 특정 변수 기준으로 요약 연산을 할 때 활용
  • 두 개 이상의 변수를 기준으로 연산할 경우 변수명을 리스트로 묶음
pd.groupby("aa")["bb"].sum()

'Data > Python' 카테고리의 다른 글

[Data/Python] 상관분석  (0) 2024.01.24
[Data/Python] 이론 정리  (1) 2024.01.24
[Data/Python]실습_데이터 전처리: 결측치 이상치  (0) 2024.01.17
[Data/Python]실습_표본 추출  (0) 2024.01.17
[Data/Python]실습_기본문법  (0) 2024.01.17