본문 바로가기
728x90

Python31

[Python] pandas vs pyspark 사용 및 코드 비교 이번 포스트에는 pyspark과 pandas를 쓰임새를 비교 해보고, pyspark의 코드를 pandas코드로 옮겨보고 비교해보겠습니다. 1. Pandas vs Pyspark 언제쓸까? pandas와 spark는 dataframe이라는 SQL 테이블 또는 Excel 스프레드 시트에서와 같이 이질적으로 유형이 지정된 열이있는 데이블 형식 데이터를 다루게 될 때 아주 적합함 대부분의 데이터처리에는 pandas 라이브러리를 통해 해결했었는데, pandas와 spark의 가장 큰 차이는 핸들링하는 데이터의 양의 크기 pandas는 통상적으로 spark보다 작은 데이터 처리에 대해서는 속도가 빠르다고 하는데, 10GB이상의 파일 처럼 파일의 크기가 커지게 되면, pandas는 메모리용량의 부족으로 인해 성능이 저.. 2022. 9. 22.
[Python] Numpy library 개념, 기본 사용법 1. Numpy 란? Numpy는 다차원 배열을 쉽게 처리하고 효율적으로 사용할 수 있도록지원하는 파이썬의 패키지 데이터 구조 외에도 수치 계산을 위해 효율적으로 구현된 기능을 제공 2. Numpy 설치 pip install numpy 3. Numpy 기본 사용법 1) ndarray 생성 import numpy as np arr1 = np.array([1,2,3,4]) # numpy의 배열인 ndarray 생성 print(arr1,type(arr1)) # [1 2 3 4] 출력 2) ndarray 데이터 타입 지정 float int bool str object arr2 = np.array([1,2,3,4], dtype = 'float') # dtype으로 배열의 데이터타입을 지정함 3) 1차원 이상의 배.. 2022. 7. 12.
프로그래밍 언어별 '(홑 따옴표, single quotation) vs "(쌍 따옴표, double quotation) 이번 포스트에는 프로그래밍 언어별 single quotation, double quotation 사용되는 경우를 비교 해보겠습니다. SQL '(홑 따옴표, single quotation) "(쌍 따옴표, double quotation) string, 문자열을 표현 할 때 사용 식별자,객체이름을 표현할 때 사용됨(mysql 에서는 `와 "를 사용) 파이썬 '(홑 따옴표, single quotation) "(쌍 따옴표, double quotation) 의미 있는string, 문자열을 표현 할 때 사용 ex) 'python' 의미 없는 string 문자열을 표현 할 때 사용 ex )"python is fun" 자바 '(홑 따옴표, single quotation) "(쌍 따옴표, double quotation).. 2022. 6. 8.
[Python] 보편적인 python coding convention(파이썬 코딩 컨벤션) 파이써닉하다 읽기도 편하고 가독성이 높은 코드 파이써닉하기 위해 코딩 규칙을 정해 놓은것을 코딩 컨벤션이라고 함. 한 줄의 한 구문을 준수 if x == 1: print('O') kwargs는 정말 필요한 경우에만 쓰자 가독성을 저해시킬 수 있음 클래스에서 private속성을 가진 변수는 이름 앞에 _(언더스코어)를 사용하여 표현 사용하지 않을 변수는 __(언더스코어 2개)로 표현하자. 1개만 사용하는 것은 지양 for __ in range(100): print('테스트') 동일한 내용물을 가진 리스트를 생성할때는 *를 활용 list_repeatitive = ['hi'] * 4 print(list_repeatitive) 다차원 리스트를 생성할 경우 리스트 내포를 적극 활용 lists = [["hi"] f.. 2022. 4. 27.
[Python] re 모듈, 정규 표현식(정규식) 개념과 완전 정복하기(regex cheat sheet) SQL, HIVE, PySpark에서의 regex 이번 포스트에서는 정규표현식의 개념과, python에서 정규표현식을 지원하는 re 모듈에 대해서 정리하겠습니다. 1. 정규 표현식이란? 정규 표현식(Regular Expressions)은 복잡한 문자열을 처리할 때 사용하는 기법으로, 파이썬만의 고유 문법이 아니라 문자열을 처리하는 모든 곳에서 사용, 정규식이라고도 부름 2. 정규 표현식의 기초, 메타 문자 ※ 메타 문자란 원래 그 문자가 가진 뜻이 아닌 특별한 용도로 사용하는 문자 . ^ $ * + ? { } [ ] \ | ( ) 1) 문자 클래스 [ ] 문자 클래스로 만들어진 정규식은 '[ ] 사이의 문자들과 매치'를 의미 예를 들어, 정규 표현식 [abc] 는 'a, b, c 중 한 개의 문자와 매치'를 뜻함 즉, 어떠한 문자열에("defg") 위의.. 2022. 4. 9.
[Python] generator 개념 및 예제 (feat. iterator) 1. generator란? iterator를 생성해주는 함수를 의미 파이썬에서는 함수 안에 yield 키워드를 사용해 만듦 모든 값을 포함하여 변환하는대신 호출 할 때 마다 한개의 값을 리턴 -> 호출 될 때 마다 리턴하기 때문에 메모리가 충분하지 않은 상황에서도 대용량의 반복 가능한 구조로 순회할 수 있음 *iterator에 대해서 모르신다면 아래의 링크를 참고해주세요. 2022.03.02 - [Python] - [Python] Iterable, Iterator 개념과 예제 및 iterator 직접 만들기 [Python] Iterable, Iterator 개념과 예제 및 iterator 직접 만들기 1. Iterator 순서대로 다음 값을 리턴할 수 있는 객체를 의미 Iterator는 자체적으로 내장하.. 2022. 4. 7.
[Python] datetime 모듈, time, datetime,timedelta,timezone class 그리고 time 모듈, pendulum 모듈 다루기 예제 1. datetime 모듈 파이썬 내장모듈인 datetime은 날짜, 시간과 관련된 유용한 메소드를 지원 자주 사용하는 class는 datetime, date, time, timedelta, timezone 2. datetime class datetime 모듈의 datetime class을 불러오는 일반적인 방법 1 #아래와 같이 모듈을 import할 경우 from datetime import datetime #다음과 같이 호출 print(datetime(2022, 3, 3)) datetime 모듈의 datetime class을 불러오는 일반적인 방법 2 #datetime 모듈은 파이썬 내장모듈이기 때문에 바로 import해와도 된다. import datetime #다음과 같이 호출 print(datet.. 2022. 3. 3.
[Python] OS, sys, glob 모듈 개념, 활용 예제 1. OS 모듈 환경 변수나 디렉터리, 파일 등의 OS 자원을 제어할 수 있게 해주는 모듈 1) 내 시스템의 환경 변수를 알고 싶을 때 print(os.environ) 2) 현재 디렉토리 출력 print(os.getcwd()) 3) 현재 디렉토리 이동 #현재 디렉토리 이동 os.chdir("C:/spark/spark-3.1.2-bin-hadoop2.7") #현재 디렉토리 확인 print(os.getcwd()) 4) 파일 객체 읽기 #실행한 시스템 명령어의 결괏값 돌려받기 - os.popen #os.popen은 시스템 명령어를 실행한 결괏값을 읽기 모드 형태의 파일 객체로 돌려준다. f = os.popen("test.txt") #읽어들인 파일 객체의 내용 보기 print(f.read()) 5) 모든 파일,.. 2022. 3. 3.
[Python] Argparse란? Argparse 모듈 개념과 실습 예제 1. argparse란? 프로그램에 필요한 인자를 사용자 친화적인 명령행 인터페이스로 쉽게 작성하도록 돕는 라이브러리 command 창에서 프로그램 내의 인자를 조절하게끔 도와줌 2. argparse를 사용 하는 경우 스크립트를 실행할 때 인자를 받아서 변수를 처리해야 되는 경우가 생기는데 그럴 때 argparse를 사용합니다. ex) ETL script 내의 시간 변수 parser.add_argument('--D1', required=False) parser.add_argument('--D2', required=False) parser.add_argument('--HH', required=False) 3. argparse 예제 argparse를 통해 입력받은 인수를 1) 각 변수에 저장하기 2) 리스트.. 2022. 3. 3.
728x90