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

Python 68

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..

DataScience
[Pandas] Series

1. Series? - 데이터가 순차적으로 나열된 1차원 배열의 형태 - index와 value가 일대일 대응되어 저장 - value의 값은 다양한 자료형이 될 수 있음(정수, 부동소수, 문자열, Bool형 ...) 2. Series의 생성 1) Dictionary를 인자로 받는 경우 - key는 Series의 index, value는 Series의 value로 저장 import pandas as pd dict_data = {'a': 1, 'b': 2, 'c': 3} sr = pd.Series(dict_data) sr 2) List를 인자로 받는 경우 - 각각의 list인자가 Series의 value로 저장 - index는 0부터 차례대로 저장 list_data = [1, True, 'Koo', 1.23..

Python/Syntax
read_excel로 xlsx 파일 열기

pandas 라이브러리의 read_excel을 이용해 xlsx파일을 읽으려하면 지원하지 않는다며 오류가 발생한다. df = pd.read_excel('data/회원정보.xlsx', sheet_name='Sheet1') print(df) xlrd는 파이썬에서 엑셀 파일을 불러올 수 있도록 도와주는 라이브러리인데 xlrd2부터 xls파일 이외의 파일은 지원하지 않는다고 한다. pandas는 엑셀파일을 읽을 때 기존과 동일하게 xlrd를 기본엔진으로 사용하고 있어 지원하지 않는다고 뜨는 것이다. engine을 xlrd이외의 라이브러리로 변경해주면 정상적으로 xlsx파일을 읽을 수 있다. df = pd.read_excel('data/회원정보.xlsx', sheet_name='Sheet1', engine='ope..

Python/Syntax
[Python] sys.stdin.readline

sys 모듈의 stdin.readline을 사용하면 input과 동일하게 값을 입력받을 수 있다 1. sys.stdin.readline과 input의 차이점? - 두 함수 모두 값을 입력받는 것은 동일 - input을 이용하면 여러 줄의 입력을 받을 때 시간 초과가 발생할 수 있다 - sys.stdin.readline은 한 줄씩 입력을 받으므로 개행 문자를 포함해 입력받는다 * 빠른 입력을 요구하는 백준 15552번 문제 1) input 사용 for _ in range(int(input())): x, y = map(int, input().split()) print(x+y) 2) sys.stdin.readline 사용 import sys for _ in range(int(input())): x, y = m..

Python/Syntax
[Python] List의 요소 삭제하기 (pop, remove, clear, del)

리스트에서는 메소드(pop, remove, clear)를 사용하거나, del 키워드를 사용해 요소를 삭제할 수 있다. 1. pop - pop은 index를 입력받아 리스트에서 해당 index에 존재하는 값을 삭제한다 - index를 입력하지 않는 경우 리스트의 마지막 요소가 삭제된다 ->stack에서 유용하게 사용가능 - 입력받은 인자에 해당하는 index가 존재하지 않는 경우 IndexError가 발생한다 - 리스트의 index는 0부터 시작한다 lst = [10, 20, 30, 40, 50] lst.pop(3) print(*lst) 3번 인덱스에 해당하는 40이 삭제된다 2. remove - remove는 값을 입력받아 리스트에 값이 존재할 경우 값을 삭제한다 - 값이 존재하지 않는 경우 ValueE..

DataScience
[JupyterNoteBook] 시작 폴더 변경

주피터 노트북을 설치하면 기본 설정 폴더가 사용자의 홈 디렉터리로 되어있다. 상위 폴더나 다른 드라이브로 이동이 불가능하므로 불편했는데 시작 폴더의 경로를 변경해보려 한다. 1. 먼저 시작창에서 Jupyter Notebook을 찾는다 2. Jupyter Notebook의 속성창을 열어준다 밑줄 친 부분을 지우고 내가 설정하고자 하는 경로를 큰 따옴표 안에 입력해준다. ※주의: 경로의 마지막에 \(역슬래쉬)를 붙이면 안된다! 3. 경로 변경 확인 주피터 노트북을 실행하고 "Serving notebooks from local directory: [경로]"를 확인한다. 입력한 경로가 제대로 설정되었다면 설정한 경로가 표시된다.

Python/Syntax
[Python] 한 줄에 두 개의 정수 입력 받기 (input, map)

C나 C++에서는 변수형을 미리 알려주고 'scanf' 함수나 '>>' 연산자를 사용해 연속해서 변수를 입력받을 수 있다. 하지만 파이썬의 경우는 input으로 값을 입력받으면 str타입으로 입력 받게 되고 따로 정수로 형변환을 시켜주어야 한다. x, y = input('두 개의 값을 입력: ').split() print(type(x), type(y)) print(x+y) x와 y를 입력받고 둘을 더하고 싶다면, 각 변수를 정수형으로 변환시킨 후 더해주어야 한다. x, y = input('두 개의 값을 입력: ').split() x = int(x) y = int(y) print(x+y) 이 때, map함수를 사용하면 x와 y를 정수형으로 바꿔주는 과정을 줄여줄 수 있다. 함수 하나와 리스트 하나를 입력받..

Python/Syntax
[Python] split

split은 string의 함수로 주어진 문자를 기준으로 string을 나누어 리스트를 반환한다 default는 'white space'로 아무것도 주어지지 않으면 띄어쓰기를 기준으로 나눈다 기준 문자는 리스트에 포함되지 않는다 test ='''This is a test text''' print(test.split()) * 1을 인자로 받은 경우 test ='''This1is1a1test1text''' print(test.split('1')) * split을 이용하면 한 번에 여러 문자를 입력받아 초기화 시킬 수 있다 x, y = input('두 개의 문자를 입력하세요: ').split() print(x) print(y) 여러 개의 변수를 초기화하는 방법 이외에도 split을 이용하면 웹문서를 파싱할 때..