본문 바로가기
카테고리 없음

[Python] 다시보기 Part 3.

by 챠챠12 2021. 12. 3.

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.

LIST

댓글