파이썬을 공부하러 인터넷을 돌아다니다 흥미로운 걸 보게 되었다. 지능형 리스트(list comprehension)를 쓰느냐, map 함수를 쓰느냐에서 지능형 리스트를 쓰는 게 좋다는 것. 사실 지능형 리스트는 for 문이 들어가 있어서 map 함수를 쓰는 게 좋다고 생각했는데, 아니었다. a = [sum(i) for i in s if i>20] b = list(filter(lambda x x>20, map(sum,s)) 만약에 리스트 내에 for 문이 들어 있는 값을 할당한다면, 무조건 리스트 컴프리 헨션이 빠르다. 이는 데이터 값이 많을수록 차이가 훨씬 난다. https://testspoon.tistory.com/186 RePythonOOP 9일차 파이썬 컨테이너 VS 플랫, 가변 VS 불변, 리스트 ..
1. 목표 각기 다른 두개 이상의 DataFrame을 하나로 병합 (Join, Merge) 하여 결과 집합으로 만들어낸다. Inner Join, Outer Join, Left Join, Right Join이 존재. 데이터의 구조와 문제에 맞게 적용한다. 실전에서 생기는 상황에 대한 적용을 학습한다. Inner Join Dataframe 간 조인 조건을 만족하는 행 (교집합)을 합치는 것 >key 값이 A,B 모두에 존재해야 병합 가능 >일치하는 키 값이 없다면 결과 테이블에 포함 X 일대일 병합 a,b,c 컬럼과 c,d 컬럼이 있다면 a,b,c,d 컬럼이 된 병합 데이터프레임이 된다. 이때 c 컬럼은 결과 수가 같아야 한다. 일대다 병합 만약 C 컬럼의 결과 수가 다르다면? A B C A1 B1 C1 A..
목표 pandas를 활용하여 데이터의 생성, 조회, 변경, 및 삭제. Open API가 제공하는 JSON 형식의 데이터를 pandas DataFrame으로 변환 CRUD 데이터의 생성, 조회, 수정, 삭제를 일컫는 말 Create, Read, Update, Delete -> CRUD DataFrame을 목적에 맞게 변경하여 다루는 게 중요하다. 열을 생성하거나, DataFrame안의 값을 업데이트 하거나, 행을 제거하거나 하는 일을 실행한다. DataFrame의 인덱스 loc 인덱서를 이용하여 원하는 데이터 조회(불리안 인덱싱 및 일반 조회) OpenAPI를 이용한 데이터 수집 공공데이터 포털, 영화진흥위원회 불러 올 때 가장 인기 있는 형식은 Json. JSON은 파이썬의 딕셔너리와 굉장히 비슷하게 생..
bin,oct,hex 함수를 사용할 때는 항상 0b,0o,0x가 붙는다. print(bin(10)) print(oct(10)) print(hex(10)) 0b1010 0o12 0xa 이럴 때는 두 가지 방법이 있다. 1. 인덱싱하기 print(bin(10)[2:]) print(oct(10)[2:]) print(hex(10)[2:]) 1010 12 a 자체적으로 2번째 항목부터 인덱싱을 하면 빠진다. 2. 포맷함수 사용해서 변환 format(10진수 숫자, '변환하고자 하는 진수의 표현방식')으로 사용하면 된다. 당연하게도 b는 2진수, o는 8진수, x는 16진수다. format(10, 'b') format(10, 'o') format(10, 'x') +보너스 16진수 변환 할 때 소문자로 나온다. 만약..
문자열을 포매팅 할 때 사용하는 함수를 나열한다. 1. %포맷팅 %문자를 사용해서 포매팅 '%+자료형 종류' % 값의 형식으로 사용한다 print("%f" % n) print("%0.0f"% n) print('%d %d' % (a,b)) print('%02d %0.4f' % (a,b)) 형식으로 사용 자료형 문자 정수 %d 실수 %f 문자열 %s 8진수 %o 16진수 %x % %% 여러 개 변수 형태를 알고 있어야 한다. 2. format 함수 내장함수 format()을 사용하여 포매팅 print("이것은 프린터 {0} 입니다." .format(3)) #값 입력 print("{0:02d}.{1:03d}.{2:01d}" .format(a,b,c)) #변수입력 print("{Y:02d}{M:02d}".for..
Numpy 딥러닝 Input 데이터 (3차원 이상의 배열) Numpy 라이브러리로 구현 특징 고속 연산 파이썬 리스트에 비해 빠른 속도와 좋은 메모리 효율 선형대수 연산이 가능 쉬운 데이터 배열 처리(반복문 필요 없음) 쉽고 빠른 배열 전환 3차원에서 2차원으로 전환(차원 변경) (3,2,4) > (4,6) 다양한 내장 함수 제공 축(axis)에 따른 집계 연산 가능 배열의 형태 조전이 맞으면 다른 배열과 연결 가능 손쉬운 랜덤 샘플링 가능(난수 생성) 행별, 열별 연산 Numpy 배열 ndarray의 shape/ndim/size 속성을 이용하면 배열의 형태/차원/원소 개수 파악 가능 (2,4,4) -> shpae ndim -> 3 size : 32 Pandas 라이브러리 Dataframe(Pandas)..