본문 바로가기
전공

[빅데이터 분석] 파이썬 기초

by 으녜 2021. 4. 9.
728x90

# 파일 읽기

f = open(file_name, mode)

*file : 파일의 경로

*mode : 옵션 => 혼합해서 사용 가능

 

 

mode 의미
r 읽기 모드로 파일 열기 (default). 모드를 지정하지 않으면 기본적으로 읽기 모드로 지정된다.
w 쓰기 모드로 파일 열기. 같은 이름의 파일이 있으면 기존 내용은 모두 삭제 되며, 파일이 없을 경우 새로 생성된다.
x 쓰기 모드로 파일 열기. 같은 이름의 파일이 있을 경우 오류가 발생한다.
a 추가 모드로 파일 열기. 같은 이름의 파일이 없으면 w와 기능이 같다.
b 바이너리 파일 모드로 열기
t 텍스트 파일 모드로 파일 열기(default) 지정하지 않으면 기본적으로 텍스트 모드로 지정된다.

 

 

[Example]

 

 

  • 현재 경로 안에 studentlist.txt 파일이 존재하므로, 따로 경로가 필요하지 않습니다.
  • readline() 함수는 파일의 문자열 한 줄을 읽는 함수입니다. (전체를 읽으려면 read() 함수 사용)
  • readlines() 함수는 파일 전체의 모든 줄을 읽어 한 줄씩을 요소로 갖는 리스트 타입으로 반환합니다.
  • 위 예시는 파일을 열어 리스트에 한 줄씩 저장한 다음, 길이를 재는 len() 함수를 이용해 파일이 총 몇 줄로 구성되어 있는지 출력합니다.

# 문자열 다루기

1 ) 문자열 분리

 

str.split(sep, maxsplit)

*sep : 구분자

*maxsplit : 분할의 최대 수행 수

 

[Example]

 

  • seq이 지정되지 않거나 None이면, 연속된 공백 문자는 단일한 구분자로 간주합니다. (에스프레소와 아메리카노 사이에 두 번의 공백이 있음에도 하나의 구분자로 간주하여 공백이 리스트에 포함되지 않습니다.)
  • 위 예시 마지막 줄은 maxsplit을 2로 지정하여 공백으로 2번의 분할만 수행합니다.

2 ) 문자열 합치기

 

2-1 ) 더하기 연산자(+)

 

[Example]

+(더하기) 연산자를 이용하여 문자열을 연결할 수 있습니다.

 

2-2 ) join() 함수

 

str.join(iterable)

*iterable : iterable의 문자열들을 이어 붙인 문자열을 반환

 

[Example]

address_list 리스트에 있는 요소들을 " "와 함께 join 합니다.

 

 

3 ) 문자열 바꾸기

str.replace(old, new [, count])

*old : 대체될 문자열

*new : 대체할 문자열

*count(선택) : 앞에서부터 count개만 치환

 

[Example]

 

  • 문자열 속 'Python'을 찾아 'IPython'로 대체
  • 문자열 속 'Python'을 2개까지만 'IPython'으로 대체 

 

4 ) 문자열 구성 확인

 

 4-1 ) isalpha() 

문자열 내의 모든 문자가 알파벳이고, 적어도 하나의 문자가 존재하는 경우 True 반환, 그렇지 않으면 False를 반환합니다.

 

[Example]

  • 'Python'은 모두 문자로 이루어져 있으므로, True 반환
  • 'Ver.3.x'에 숫자 3이 포함되어 있으므로, False 반환

 

4-2 ) isdigit()

문자열 내의 모든 문자가 숫자이고, 적어도 하나의 문자가 존재하는 경우 True 반환, 그렇지 않으면 False를 반환합니다.

 

[Example]

  • '12345'는 모두 숫자로 이루어져 있으므로, True 반환
  • '12345 abc'에 문자 abc가 포함되어 있으므로, False 반환

 

4-3 ) isalnum()

문자열 내의 모든 문자가 알파벳과 숫자이고, 적어도 하나의 문자가 존재하는 경우 True 반환, 그렇지 않으면 False를 반환합니다.

 

[Example]

  • 'abc12345'가 숫자와 알파벳으로 이루어져 있으므로, True 반환
  • ' 12345abc'에 ' '(공백)이 포함되어 있으므로, False 반환

 

4-4 ) isupper()

문자열 내의 모든 케이스 문자가 대문자로 이루어져 있는 경우 True 반환, 그렇지 않으면 False 반환

 

[Example]

  • PYTHON'은 모두 대문자이므로 True 반환
  • 'Python'은 대문자+소문자로 이루어져 있으므로, False 반환

 

4-5 ) islower()

문자열 내의 모든 케이스 문자가 소문자로 이루어져 있는 경우 True 반환, 그렇지 않으면 False 반환

 

[Example]

  • 'python'은 모두 소문자이므로 True 반환
  • 'Python'은 대문자+소문자로 이루어져있으므로, False 반환

 


#Numpy

행렬이나 일반적으로 대규모 다차원 배열을 쉽게 처리할 수 있도록 지원하는 파이썬의 라이브러리

 

ndarray : class, 같은 type의 값들로 구성

axis = 차원

 

속성

  • ndarray.ndim : 차원 수
  • ndarray.shape : 데이터 모양
  • ndarray.size : 값 개수
  • ndarray.dtype : 값의 type
  • ndarray.itemsize : 각 값의 크기(byte)

[Example]

1 ) 생성

 

  1. array() 함수에 리스트를 넣어 생성
  2. 다차원 array 생성 (arrange(15): 0-14까지 reshape(5,3): 5행 3열 배열 생성)
  3. zeros((3,4)) : 3행 4열 배열을 0으로 채움
  4. ones((3,4)) : 3행 4열 배열을 1로 채움
  5. full((3,4),10) : 3행 4열 배열을 10(사용자 지정)으로 채움
  6. eye(3) : 3행 3열 배열의 대각선은 1, 나머지는 0으로 채움
  7. arange(10) : 0-9까지의 배열 생성

 

2 ) 연산

  1. 사칙 연산: 각 element와 스칼라 연산
  2. 벡터*벡터는 같은 위치의 element끼리 연산
  3. 벡터의 곱은 @

 

2-1 ) axis(차원)에 따른 연산

 

sum(axis=0) : 첫 번째 차원으로 합

sum(axis=1): 두 번째 차원으로 합

 

[Example]


#Pandas

 행과 열로 이루어진 데이터 객체를 만들어 보다 편리하게 데이터를 처리할 수 있는 데이터 분석 라이브러리

차원 이름 설명
1차원 Series 균일한 유형의 배열로 표시된 1차원 데이터
2차원 DataFrame 잠재적으로나 이질적으로 유형이 지정된 열이 있는 크기가 가변적인 테이블 형식의 2차원 데이터

 

DataFrame

 

1 ) dictionary로 생성

 

2) numpy array이용

 

3 ) series를 dataframe으로 만들기

 


 

728x90