PYTHON 데이터 분석

파이썬으로는 데이터 분석을 할 수 있다.

파일 읽기

텍스트 파일을 읽기 위해서 open 내장 함수를 사용하면 된다. 첫번째 파라미터에는 파일 이름을 넘겨주어야 하며, 두번째 파라미터로는 읽는다는 의미의 r을 넘겨주면 된다. 추후에 파일을 쓰게 될 때에는 w를 넘겨준다. in_file의 type을 출력해보면 <class '_io.TextIOWrapper'>라고 나오지만, for문에 쓰면 in_file을 마치 문자열 리스트(list of strings)처럼 다룰 수 있다. 파일을 다 읽었다면 파일을 닫아주는 것이 좋다. close 메소드를 사용하면 메모리를 해방시켜줄 수 있다.

1
2
3
4
5
6
in_file = open('chicken.txt', 'r')

for line in in_file:
print(line)

in_file.close()

strip 메소드

문자열의 가장 앞쪽과 뒤쪽에 있는 화이트 스페이스(white space)가 제거된 새로운 문자열을 리턴해준다. 단, 가장 앞쪽과 뒤쪽에 있는 화이트 스페이스만 제거하고 중간에 있는 화이트 스페이스의 경우 그대로 놔둔다.

화이트 스페이스는 띄어쓰기뿐만 아니라 탭(\t)과 엔터(\n)까지 포괄적으로 포함한다.

1
2
print("    Hello world!     ".strip())
# Hello world!

split 메소드

파라미터로 넘겨주는 값을 기준으로 문자열을 분리시키고, 분리된 값이 정리되어 있는 리스트를 리턴해준다. split메소드의 파라미터는 옵셔널 파라미터이기 때문에 아무 값도 넘겨주지 않았을 경우 기본값으로 “”가 넘어가게 된다.

1
2
3
4
5
print("1. 2. 3. 4. 5. 6".split("."))
# ['1', ' 2', ' 3', ' 4', ' 5', ' 6']

print("1 2 3 4 5 6".split())
#['1', '2', '3', '4', '5', '6']

파일 쓰기

파일을 읽을 때와 마찬가지로 open 함수를 쓰면 된다. 첫번째 파라미터는 파일 이름을 넘겨주고, 두번째 파라미터는 ‘write’의 약자인 w를 넘겨주면 된다. 마찬가지로 파일을 다 쓰면 꼭 닫아주는 것이 좋다.

1
2
3
4
5
6
7
out_file = open('new_file.txt', 'w')
out_file.write("Hello world!\n")
out_file.write("My name is Minjee Kim!")
out_file.close()

# Hello world!
# My name is Minjee Kim!

사전

사전(dictionary)은 순서가 없는 key-value 쌍의 집합이다.

1
2
3
dict1 = {}
print(type(dict1))
# <class 'dict'>

key가 정수인 경우

리스트는 인덱스 0부터 시작하고 순서대로 채워지지만 사전은 순서가 없기때문에 0부터 시작하지 않고 아무 값들을 쓸 수 있다.

1
2
3
4
5
6
dict1[5] = 25
dict1[2] = 4
dict1[3] = 9

print(dict1)
# {2: 4, 3: 9, 5: 25}

key가 정수가 아닌 경우

사전이 리스트와 가장 다른 점은 key가 정수뿐만 아니라 아무 자료형이나 될 수 있다는 점이다.

1
2
3
4
5
6
7
8
9
10
11
family = {}
family['mom'] = 'grace'
family['dad'] = 'chris'
family['son'] = 'young'
family['daughter'] = 'kay'

print(family['dad'])
print(family['daughter'])

# chris
# kay

사전의 key 모두 받아오기

key들만 모두 받고 싶은 경우 keys 메소드를 사용한다. key들을 리스트로 쓰고 싶으면 list 함수로 형 변환을 하면 된다.

사전의 value 모두 받아오기

value들을 모두 받고 싶은 경우 values 메소드를 사용한다. value들을 리스트로 쓰고 싶으면 list 함수로 형 변환을 하면 된다.


REFERENCE
코드잇 온라인 강의 프로그래밍 기초

  • © 2020-2025 404 Not Found
  • Powered by Hexo Theme Ayer