zenn.skin 무료버전 배포중!
자세히보기

Python 51

Python/Syntax
[Pandas] 행 인덱스를 제외하고 DataFrame을 csv 파일로 저장

데이터가 저장된 파일의 종류는 엄청나게 다양합니다. 그중에서도 간단하지만 많이 사용되는 csv파일의 저장방법에 대해 공부해보려 합니다. DataFrame을 csv파일로 저장하면 다른 확장자와는 다르게 row index까지 같이 저장되기 때문에 index가 포함되지 않도록 해주어야 합니다. data = [list('abc'), list('def'), list('ghi')] data = pd.DataFrame(data) data.to_csv("ex.csv") data = pd.read_csv("ex.csv") print(data) 별도의 옵션을 지정하지 않고 DataFrame을 csv파일로 저장한 후 불러오면 기존에 있던 row index까지 열로 포함됩니다. 저장된 csv파일을 직접 열어 확인해도 row ..

Python/Syntax
[JupyterNoteBook] 다른 주피터 노트북으로 셀을 복사

JupyterNoteBook을 사용하다 보면 하나의 노트북에서 다른 노트북으로 복사를 해야하는 상황이 있습니다. 명령모드에서 c, v, x를 사용하면 해당하는 노트북에서만 복사, 붙여넣기, 자르기만 되고 다른 노트북으로의 이동은 불가능합니다. 명령모드에서 Ctrl+C, Ctrl+V(mac의 경우 Cmd+C, Cmd+V)를 사용하면 하나의 노트북에서 다른 노트북으로 셀을 복사, 붙여넣기가 가능합니다! 추가로! mac의 경우 Cmd를 누르고 셀을 선택해도 복수 선택이 안되므로 명령 모드에서 Shift를 누른 상태에서 방향키를 이용해 셀을 선택해야 합니다 이렇게 셀들을 선택한 후 Ctrl+C를 누른 후! 다른 셀에서 Ctrl+V를 누르면 셀들이 복사됩니다! 복사된 셀들은 실행된 상태는 아니기 때문에 별도로 실..

Python/Syntax
[Pandas] DataFrame 열 순서 변경

DataFrame의 열 순서를 변경하는 메소드는 별도로 없어서 열 순서를 변경하는 방법을 정리해보려 합니다. 1. 열의 순서를 직접적으로 변경 exam_data = {'수학': [90, 80, 70], '영어': [98, 89, 95], '음악': [11, 22, 33], '체육': [44, 55, 66]} exam_data = pd.DataFrame(exam_data) col = ['체육', '수학', '영어', '음악'] exam_data = exam_data[col] 열의 순서를 직접 설정하여 변경하는 방법입니다. 열의 개수가 많지 않으면 사용할 수 있지만 개수가 많아지면 사 용하기 힘들다는 단점이 있습니다. 2. reindex를 이용한 방법 exam_data = {'수학': [90, 80, 70]..

Python/Syntax
[Python] 문자열 자료형을 datetime, date 자료형으로 변환

from datetime import datetime date = '2022-05-26' date_time = datetime.strptime(date, "%Y-%m-%d") only_date = date_time.date() print(only_date) print(type(only_date)) 1) strptime - datetime.datetime.strptime을 사용하면 문자열 객체를 날짜와 관련된 자료형(datetime, date)으로 변환할 수 있다 - datetime.strptime(date_string: str, format: str) -> datetime - date_string : 문자열로 저장된 날짜 정보 - format : 입력된 문자열 date_string을 어떻게 읽을지(파싱할..

Python/Syntax
[Python] 논리 연산자와 Bitwise 연산자 차이점

Python을 공부하면서 Bitwise 연산자를 사용할 일이 많지 않아 논리 연산자와의 차이점을 잘 몰랐는데 알고리즘 문제를 풀며 공부할 기회가 생겨 정리를 해보려 한다. 1. 논리 연산자와 bitwise 연산자의 값 비교 1) 홀수인 경우 AND, OR 연산 # AND 연산, & 연산 print(21 and 1) # 1 print(21 and 0) # 0 print(21 & 1) # 1 print(21 & 0) # 0 # OR 연산, | 연산 print(21 or 1) # 21 print(21 or 0) # 21 print(21 | 1) # 21 print(21 | 0) # 21 2) 짝수인 경우 AND, OR 연산 # AND 연산, & 연산 print(20 and 1) # 1 print(20 and ..

Python/Syntax
[Python] Bitwise 연산자를 이용한 홀/짝 판단

(오늘 게시물에서 사용하는 AND, OR 연산자는 모두 Bitwise 연산자를 의미한다.) 홀수와 짝수를 판단할 때 2로 나눈 나머지를 이용해 판단할 수도 있지만 Bitwise 연산자를 이용해서 구하는 방법도 있다. 1. 2의 나머지를 이용한 홀수, 짝수 판단 num = int(input()) if num % 2 == 0: # 짝수인 경우 print("Even") elif num % 2 == 1: # 홀수인 경우 print("Odd") 2. Bitwise 연산자를 이용한 홀수, 짝수 판단 - Bitwise 연산자를 이용해 홀수와 짝수를 판단하려면 우선 AND연산과 XOR연산에 대해 알아야 한다. ① AND 연산자(&) 0 1 0 0 0 1 0 1 정수를 2진수를 이용해 나타내면 짝수인 경우 마지막 자리가..

Python/Syntax
[Pandas] DataFrame - 2 (행/열 추가, 값 선택/변경, 전치)

1. 행/열의 추가 1) 행의 추가 - DataFrame의 loc() 메서드를 이용해 행을 추가 - DataFrame.loc['새로운 행 이름'] = value or List - value를 전달할 경우 해당 행에 모두 동일한 값이 들어간다 - List를 전달할 경우 행에 값이 차례로 들어간다 - 전달되는 리스트의 개수는 열의 개수와 동일해야 한다 ① 값의 추가 df = pd.DataFrame([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15]], index=list('xyz'), columns=list('ABCDE')) df.loc['v'] = 30 print(df) ② 리스트의 추가 df.loc['w'] = [16, 17, 18, 19, 20] pri..

Python/Syntax
[Pandas] DataFrame - 1 (자료형, 생성, 행/열 이름변경, 행/열 삭제)

1. DataFrame? - 행과 열로 만들어지는 2차원 배열 구조의 자료형 - 행을 index, 열을 columns, 값을 values로 갖는다 df = pd.DataFrame([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15]], index=list('xyz'), columns=list('ABCDE')) print('index: ', df.index) print('columns: ', df.columns, end='\n\n') print('values: ', df.values, end='\n\n') print('dtypes: ', df.dtypes) 2. DataFrame의 생성 1) Dictionary를 인자로 받는 경우 - Dictionary의 k..

Python/Syntax
[Python] Pickle

1. Pickle? - 객체를 저장할 때 사용할 수 있는 라이브러리 - 객체를 직렬화(Serialize)하고 역직렬화(Deserialize)할 수 있게 해준다 - 직렬화: 객체의 데이터를 바이트로 바꾸어 저장 - 역직렬화: 바이트로 저장된 데이터를 다시 원래의 객체로 복원 - 객체는 문자열처럼 일반 텍스트로 저장할 수 없기 때문에 바이너리로 바꾸어 저장해야 한다 - 바이너리로 저장된 파일은 읽을 수 없지만 저장, 전송에 효율적임 - 바이너리로 저장된 파일은 txt가 아닌 bin형식으로 저장 2. Pickle의 사용법 - pickle.dump(객체, "파일이름") 를 이용해 객체를 직렬화 - pickle.load("파일이름") 를 이용해 객체를 역직렬화 3. Pickle을 이용한 객체 저장 1) List ..