본문 바로가기
엘리스 AI 트랙 4기/Data Analysis Study

[Python] csv와 파이썬 함수들

by _sweep 2022. 1. 30.

엘리스에서 제공한 강의와 자료를 보고 정리한 내용입니다.

 

 csv

csv(Comma Separated Value)는 어떠한 값들이 구분자로 구분되어 있으며 각 열이 특정한 의미를 가진다.
이때 구분자는 기본적으로 콤마(,)지만 다른 구분 문자도 사용 가능하다.

json처럼 키를 따로 두지 않고 의미에 따라 값들을 나열하기 때문에 의미를 모르면 해석이 불가능할 수도 있다.
csv는 엑셀에서 열람이 가능하며 key값을 따로 두지 않아 용량이 작다.
값을 저장할 때 데이터에 , 등의 구분자가 들어있을 경우 큰 따옴표로 감싸주면 구분자가 들어있어도 큰 따옴표로 감싸진 것을 하나의 값으로 취급한다.
하지만 이러한 예외가 언제든지 발생할 수 있기 때문에 데이터 오염에 취약하다.

 

✔️ reader()

csv 형식의 값을 읽어온다.

 

csv.reader(csvfile, delimiter='')
  • csvfile : csv 형식의 읽어올 파일.
  • delimiter : 구분자.

 

 

 lambda

람다(lambda)는 어떠한 값을 받아서 어떤 것을 리턴할 것인지 정의하는 함수이다.

lambda는 다음의 형식을 가진다.

 

lambda 매개변수 : 표현식

 

만약 x를 받아 x의 제곱을 리턴하는 함수를 정의해야 한다면 이는 다음과 같이 작성할 수 있다.

 

def square(x):
    return x * x

 

같은 내용을 lambda를 이용해 작성하면 다음과 같다.

 

square = lambda x: x * x

 

함수를 선언할 때와 같이 이름을 붙이는 것이 가능하며 일반적인 함수의 선언보다 간결하다.

 

 

✅ assert()

assert()는 인자로 주어진 구문이 True의 값을 가지면 아무것도 하지 않으나 구문이 False의 값을 가진다면 에러(Assert Error)를 반환한다.

뒤에 메시지를 추가한다면 에러 발생 시 메시지를 같이 출력한다.

 

assert 조건, '메시지'

 

assert()는 테스트할 때 많이 사용되는 함수이며 단순히 에러를 찾는것이 아니라 값을 보증하기 위해 사용된다.

예를 들어 함수의 입력 값이 어떤 조건의 참임을 보증하기 위해 사용할 수 있고 함수의 반환 값이 어떤 조건에 만족하도록 만들 수 있다.

혹은 변수 값이 변하는 과정에서 특정 부분은 반드시 어떤 영역에 속하는 것을 보증하기 위해 assert()를 통해 확인할 수도 있다.

 

 

 map()

map()은 리스트와 같은 반복 가능한 iterable이 주어졌을 때 각 원소들에 대해 동일한 함수를 취해주는 함수이다.

 

map(function, iterable)


map()은 리스트가 아닌 map이라는 타입을 가진다.

 

 

 filter()

filter()는 리스트와 같은 반복 가능한 iterable이 주어졌을 때 특정 조건으로 걸러진 요소들을 반환하는 함수이다.

함수의 결과가 참인지 거짓인지에 따라, 해당 요소를 포함할지를 결정한다.

즉, 원하는 값만 추출할 수 있게 해준다.

 

filter(function, iterable)

 

 

🔍 참조

assert https://wikidocs.net/21050

map, filter https://wikidocs.net/22803

 

 

 

 

 

댓글