1. 파이썬 라이브러리
데이터 분석을 위한 Pandas
: 구조화된 데이터를 효과적으로 처리하고 저장
: 대용량데이터 처리에 용이
: Array 계산에 특화된 NumPy를 기반으로 설계
import pandas as pd
# data, index를 가짐
test = pd.Series([ 1,2,3,4 ], dtype = "double" ) # dtype로 데이터 타입 지정 가능 / 기본은 int64
test2 = pd.Series([ 1,2,3,4 ], index=['a','b','c','d'] ) # index 값 지정 가능
# Series 는 values을 ndarray 형태로 갖음
print(test) print(test2) test2['a'] = 99
# 0 1 # a 1 => 99
# 1 2 # b 2
# 2 3. # c 3
# 3 4. # s 4
inex data(value)
#딕셔너리를 활용해 Series 생성 가능
emp_dict = {
'name' = 'jh',
'no' : 20211212,
'age' = 25
}
emp_info = pd.Series(emp_dict)
emp_dict2 = {
'name' : 'jh2',
'no' : 20211213,
'age' : 26
}
emp_info2 = pd.Series(emp_dict2)
2. pd.DataFrame : 여러개의 Series를 모아 행과 열을 이룬 데이터
emp_info = pd.Series(emp_dict) / emp_info2 = pd.Series(emp_dict2) 후,
emp_list = pd.DataFrame({
'info' : emp_info,
'info2' : emp_info2
})
print(emp_info)
# 출력
info. info2
name jh jh2
no 20211212 20211213
age 25 26
print(emp_list.index)
# Index(['name', 'no', 'age'], dtype='object')
print(emp_list.columns)
# Index(['info', 'info2'], dtype='object')
4. 데이터 선택 / indexing / slicing
loc : 명시적인 인덱스를 참조하는 인덱싱/슬라이싱 (많이 사용)
iloc : 암시적인
5. 마스킹(Masking) 매소드
: 조건을 만족하는 데이터를 추출
df.mask(<조건>, <마스킹할 값>)
df = pd.DataFrame(np.random.rand(5, 2), columns=["A", "B"])
# 데이터 프레임에서 A컬럼값이 0.5보다 작고 B컬럼 값이 0.3보다 큰값들을 구해봅시다.
# 마스킹 연산을 활용하여 출력해보세요!
#print(df[df['A'] <0.5])
#print(df[df['B'] <0.5])
print(df[(df['A'] <0.5) & (df['B'] > 0.3)])
# query 함수
장점 : 가독성과 편리성 굿
단점 : .loc[] 보다 속도가 느림
1) 비교 연산자( ==, >, >=, <, <=, != )
2) in 연산자( in, ==, not in, != )
3) 논리 연산자(and, or, not)
4) 외부 변수(또는 함수) 참조 연산
5) 인덱스 검색
6) 문자열 부분검색( str.contains, str.startswith, str.endswith )
print(df.query("A<0.5 and B>0.3"))
<-> Where 매소드
: 조건을 만족하지 않는 데이터 추출
6. index , column 값 기준으로 정렬 (default 오름차순)
.sort_index( )
# 칼럼명 값 기준으로 내림 차순 정렬
.sort_values(by = '칼럼명', ascending = False )
# by 옵션에 리스트
.sort_values(by = [ '칼럼명1', '칼럼명2'] )
7.
.count()
.max()
.min()
.sum()
.mean() # 평균
.groupby()
.groupby().aggreate() #groupby 를 통한 집계를 한번에 계산
.groupby().filter() #groupby 값을 한번 더 필터
.groupby().lambda() #groupby 값을 데이터 함수 적용
.groupby().get_group() #groupby 값을 key 값으로 추출
8.
9.
10.
11.
댓글