본문 바로가기

BLOG/파이썬 기초

[파이썬] 인덱스 반환 함수 - enumerate() 란? enumerate() 함수는 주로 반복문에서 사용되는데요, 몇 번째 반복되고 있는지 인덱스를 확인할 때 사용합니다. enumerate 함수를 어떻게 사용하는지 다음 코드를 보면서 살펴보도록 하겠습니다. - enumerate() 먼저, 아래와 같은 리스트 'list1'이 있고, list1에 있는 데이터를 하나씩 출력할 때 보통 다음과 같이 코드를 작성합니다. list1 = [50,100,150,200,250,300] for i in range(len(list1)) : print(i, "번째 데이터 :", list1[i]) 0 번째 데이터 : 50 1 번째 데이터 : 100 2 번째 데이터 : 150 3 번째 데이터 : 200 4 번째 데이터 : 250 5 번째 데이터 : 300 여기서 반복하는 것을 ran.. 더보기
[파이썬] 리스트 안에 있는 데이터 빈도 수 구하기 - Counter() 리스트에 중복된 데이터가 있는 경우, 데이터의 빈도수를 구하고 싶다면 어떡해야 할까요? 바로, Counter 라는 라이브러리를 사용하면 되는데요, 아래 코드를 보면서 설명드리도록 하겠습니다. - Counter() : 리스트 데이터 빈도수 구하기 Counter 라이브러리는 리스트 안에 있는 데이터의 빈도수를 구한 뒤 딕셔너리 형태로 반환해주는 함수를 제공하는데요, 아래와 같은 중복된 데이터가 있는 리스트가 있다고 가정해보겠습니다. a = ['커피', '쿠키', '차', '케잌', '커피', '차', '케잌', '쥬스', '커피', '쥬스', '차'] 이제 'a' 리스트에 있는 데이터의 빈도 수를 구하기 위해 Counter() 함수를 사용해보겠습니다. 이때 Counter() 함수를 사용하기 위해 Counte.. 더보기
[파이썬] 주피터 노트북(jupyter notebook)에서 행 번호(line number) 없애거나 나타나게 하려면? 주피터 노트북에는 각 셀마다 행 번호(line number)가 같이 보이는데요, 이 행 번호는 에러가 났을 때 위치를 쉽게 알 수 있도록 해주는 역할을 해주기도 합니다. 행 번호는 보여지는 것이 초기 설정 상태인데요, 단축키로 행 번호를 셀마다 안 보이게 할 수 있답니다. - 행 번호(line number) 설정 / 해제 : command mode >> 'L' 먼저, 주피터 노트북에는 edit mode와 command mode가 있는데요, edit mode는 왼쪽에 초록색 상태의 cell로 enter를 눌러 코드를 입력할 있는 상태를 말합니다. 반면 command mode는 esc를 누르거나 셀을 마우스로 클릭해서 파란색의 cell이 된 상태를 말합니다. 한편, 행 번호를 해제하는 것은 command m.. 더보기
[파이썬] 인수 없이 불러오는 함수 만들기 파이썬에서 함수를 만들 때, 대부분의 함수 모두 인수를 받도록 만드는데요, 인수가 필요 없고 그냥 불러오면 실행하는 함수를 만들 수도 있습니다. 아래 코드를 한 번 보도록 하겠습니다. def avg(list1) : avg_num = sum(list1)/len(list1) return avg_num list1 = [1, 2, 3, 4, 5] avg(list1) 위 코드는 평균을 구하는 함수로, 리스트형 데이터를 인수로 받습니다. 따라서 이 함수는 인수를 무조건 입력받아야 실행이 됩니다. 한편, 인수가 필요없는 함수는 다음과 같이 만들 수 있습니다. def new_function() : print("안녕하세요!") new_function() 안녕하세요! 인수가 필요없는 함수 'new_function'을 위와.. 더보기
[파이썬] 평균 구하는 함수 avg() 만들기 파이썬에는 전체 합을 구해주는 함수 'sum()'이 있지만, 평균을 구하는 함수는 없습니다. avg()라는 함수가 있을 것 같지만 파이썬에서는 제공하지 않습니다. 따라서 데이터 분석을 할 때 평균을 구해야 하는 상황이 많다면 일일이 계산을 다 해주어야 하는데요, 함수로 만든다면 좀 더 효율적으로 코딩을 할 수 있답니다. - 평균 구하는 함수 만들기 먼저, 평균을 구하는 방법은 '전체합/데이터 개수'인데요, 전체합은 sum() 함수를 이용하고, 데이터의 개수는 len() 함수를 이용하도록 하겠습니다. def avg(list1) : avg_num = sum(list1)/len(list1) return avg_num 위와 같이 리스트를 인수로 받는 avg() 함수를 만들었는데요, 평균을 잘 구하는지 코드를 실.. 더보기
[파이썬] NameError: name 'os' is not defined 에러 발생 이유 & 해결방법 쥬피터노트북에서 파이썬 코드를 입력하다 보면, NameError: name 'ㅇㅇ' is not defined 이라는 에러를 자주 볼 수 있는데요, 이 에러는 해당 라이브러리 또는 모듈이 import 되지 않았을 때 발생하는 에러입니다. 따라서 만약 NameError: name 'os' is not defined 라는 에러가 발생되었다면 'os' 라는 라이브러리가 설치되지 않았다는 뜻입니다. 한 번 os 라이브러리를 설치하지 않고, os모듈을 사용해보도록 하겠습니다. os.getcwd() NameError Traceback (most recent call last) in ----> 1 os.getcwd() NameError: name 'os' is not defined 출력된 결과를 보면, 'os' 로 .. 더보기
[파이썬] TypeError: 'str' object cannot be interpreted as an integer 에러 발생 이유 및 해결 방법은? TypeError: 'str' object cannot be interpreted as an integer라는 에러가 발생했다면 사용한 데이터의 타입을 한 번 확인해보는 게 좋은데요, 에러 내용에서 알 수 있듯이, 문자열 데이터를 정수형처럼 사용했을 때 나타나는 오류입니다. 예를 들어, '3' 이라는 변수가 있고, 이를 정수형 타입으로 여겨 연산을 하도록 실행했는데, '3'이 정수형(integer) 데이터가 아닌 문자열(str) 데이터였다면 위와 같은 에러가 발생하게 되는 것입니다. 따라서 만약 TypeError: 'str' object cannot be interpreted as an integer 에러가 발생했다면, 정수형 데이터라고 생각했던 데이터가 문자열 데이터는 아닌지 타입을 확인해보시기 바랍니.. 더보기
[파이썬] SyntaxError: invalid syntax 에러 발생 이유 및 해결방법은? 파이썬으로 코딩을 하면서 가장 많이 보는 에러 중 하나가 바로 SyntaxError: invalid syntax 일 수 있습니다. 이 에러가 나는 데에는 다양한 이유가 있을 수 있지만 그중 주된 이유 중 하나는 바로 ' : '를 작성하지 않았을 때 입니다. 보통 for문이나 if문, while문, try문, 함수 등을 만들 때 뒷부분에 ' : '를 반드시 써줘야 하는데요, 만약 이를 입력하지 않고 코드를 실행하면 SyntaxError가 난답니다. 한 번 for문에 ' : '를 입력하지 않고 실행해보도록 하겠습니다. for i in range(5) print(i) File "", line 1 for i in range(5) ^ SyntaxError: invalid syntax for문에 ' : '를 입력하.. 더보기
[파이썬] IndexError: list index out of range 에러 해결 방법은? 파이썬에서 코딩을 하다 보면 IndexError: list index out of range와 같은 에러가 발생하기도 하는데요, 어떠한 경우에 나는 에러일까요? 에러 내용을 보면, 인덱스에러 : 범위를 벗어난 리스트 인덱스라고 되어 있습니다. 즉, 리스트 안에 데이터 수가 부족하다면 발생하는 에러입니다. 예를 들어, 5개의 데이터를 가지고 있는 리스트에서 for문을 이용하여 데이터를 하나씩 출력할 때, for문을 5번 돌리면 되지만 만약 6번 이상 돌려서 6번째 데이터를 출력할 때 IndexError 가 발생한답니다. 이를 한 번 실행해보겠습니다. list1 = [1, 2, 3, 4, 5] for i in range(6) : print(list1) 1 2 3 4 5 IndexError: list inde.. 더보기
[파이썬] IndentationError: unexpected indent , IndentationError: expected an indented block - 무슨 에러인가요? / 해결 방법 파이썬 코딩을 하다 보면 가끔 IndentationError: unexpected indent 또는 IndentationError: expected an indented block 라는 에러가 나올 수 있는데요, 바로 들여쓰기 또는 내어쓰기에서 문제가 발생했다는 것입니다. 한 번 들여쓰기를 하지 않고 코드를 실행해보겠습니다. text1 = "안녕하세요!" for i in text1 : print(i) IndentationError: expected an indented block 올바르게 실행하기 위해선 print(i) 부분을 들여쓰기 해야 하지만 들여쓰기를 하지 않았더니 위와 같이 출력되었습니다. 만약 print(i) 코드를 들여쓰기해서 재실행하면, 에러가 뜨지 않는 것을 확인할 수 있습니다. 반면, .. 더보기