전체 글

데이터 분석 및 시각화/파이썬

[Python] 기초 정리(함수, 문자열 메서드 join)

함수(function) 프로그래밍에서 함수(function)는 독립적으로 설계된 프로그램 코드의 집합입니다. 함수를 사용하면 반복적인 코드의 양을 줄여 유지보수성을 높여줍니다. ### 함수 정의부 def 함수명(인자, 인자,...): ## parameter : 인자 함수코드... return 반환값 ### 메인코드 x = 함수명(인수, 인수, ...) ## argument : 인수 print("결과값 :", x) 함수가 호출되면 함수정의부로 가서 함수 호출부의 인수 값을 함수 정의부 인자값에 순서대로 대입 함수 정의부 내부 코드를 순차적으로 실행 해당 함수에 return 값이 있는 경우, 함수 호출부를 return 값으로 치환 파이썬은 오버로딩(overloading) 불가 프로그래밍에서의 함수(funct..

데이터 분석 및 시각화/파이썬

[Python] 기초 정리(tuple, random, set)

튜플 : immutable(불변한) 리스트에 비해 가능한 메소드 빈 튜플(empty tuple) 비어있는 빈 튜플을 만들 때는 소괄호(())만 쓰거나 인자없는 tuple 함수를 사용하면 됩니다. empty_tuple = tuple() print(empty_tuple) print(type(empty_tuple))제너레이터 컴프리헨션(comprehension) 소괄호로 된 아래 표현식은 튜플이 아닌 제너레이터 컴프리헨션이 된다. 제너레이터도 반복 가능한 객체로 tuple() 함수를 사용하면 제너레이터 객체를 tuple로 만들 수 있습니다. generator_variable = (expression for x in range(10)) tuple(expression for x in range(10)) gener..

데이터 분석 및 시각화/파이썬

[Python] 메모리에 객체를 저장하는 구조

리스트는 값을 변경, 삭제, 추가 할 수 있고 메모리를 많이 차지한다. 따라서 조금 특이한 구조가 발생하는데, 예시로 알아보자 prac_result4 = [str(x) for x in list(range(2,11))] + [x for x in 'JQKA'] print(prac_result4)해당 코드에서 prac_result4라는 변수를 만들었다. ['2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A'] 이 리스트는 prac_result4라는 이..

데이터 분석 및 시각화/파이썬

[Python] 기초 정리(dictionary, zip, list comprehension)

딕셔너리 자료형(DICTIONARY TYPE) 딕셔너리 자료형은 비 시퀀스 자료형입니다. 따라서 인덱스를 갖지 않습니다. 대신 이 자료형은 고유한 키(KEY) 값을 갖습니다. 이 키(KEY)는 1대1로 매칭 되는 값(VALUE)를 갖습니다. 이를 KEY-VALUE PAIR라고하며 딕셔너리 자료형의 특징입니다. 중괄호({})를 활용하여 딕셔너리 자료형을 생성할 수 있습니다. 중괄호 안에는 KEY-VALUE PAIR를 작성하며 형태는 KEY:VALUE와 같습니다. KEY-VALUE PAIR는 콤마로 구분지어 요소로 등록할 수 있습니다. dic_var = {'key':'value'} dictionary_variable = {key: value, key: value} 딕셔너리 키(K..

데이터 분석 및 시각화/파이썬

[Python] 기초 정리(for문, range의 활용, while문, break, continue)

for문 for 요소를 담을 변수 in 반복 가능한 객체: 반복할 코드(띄어쓰기 4칸) for 변수 in range(횟수): 반복할 코드(띄어쓰기 4칸) Python에서의 for문 조금 특이한 구조 JAVA의 일반적인 for문은 for(변수 선언; 조건식; 증감식){실행부} 변수의 숫자를 증감시키고, 산술적 변화에 따라 조건식에 부합할 때까지 반복하는 방식 오히려 Python의 for문은 자바의 향상된 for문과 유사 for(자료형 변수명 : Iterable){실행부} range print(list(range(5,10))) print(list(range(0,10,3))) print(list(range(-10,-71, -30))) # [5, 6, 7, 8, 9] # [0, 3, 6, 9] # [-10, -..

프로젝트 회고록/NIA(한국정보화 진흥원) 주관 위기대응 프로젝트

NIA(한국정보화 진흥원) 주관 위기대응 프로젝트

프로젝트 개요 프로젝트에 참여 하게된 계기 NIA에서 프로젝트 모집 공고를 확인했었다. 당시에 꽤나 급하게 개발자를 구하고 있었고 오픈 API를 이용해서 받은 데이터를 띄우는 방식의 웹을 만들면 되는 프로젝트였다. 오픈 API는 많이 써봐서 자신 있었고, 데이터는 당근 자신 있었고, 웹이 자신이 없었다. 그래도 한번 해보자는 마음으로 하게 됐는데, 이 프로젝트의 취지는 이렇다. API 중개서버를 활용해서 국가 위기 상황 발생 시 단 시간 내에 웹 개발 위기 상황 시, 국민에게 위기 대응 상황판 제공 중개 API를 사용하는 이유는, 위기 상황 발생시 API키 인증 및 발급 절차를 최소화하고자 이렇게 진행한다고 했다. 이 구성도에서, 개발자는 중개 API서버에서 다양한 데이터를 활용해 국민에게 정보를 제공하..

일기

데이터엔지니어링 트랙 2일차 후기

일단 너무 재밌다. 부족했던 부분이 하나하나 채워지는 것 같다. 특히 강사님께서 간단한 코드에도 컴퓨터 공학적 지식?을 담아서 설명해주시는데, 어떻게 코드에 구현할 수 있을까 들으면서 계속 고민했던 하루였다. 리스트, 튜플 특히 오늘 제일 인상 깊었던 건 튜플, 리스트의 차이였는데 수정이 가능하고 불가능한 차이 때문에, 자료가 커질수록 리스트가 시간이 압도적으로 많이 걸린다는 점.. 예전에 데이터 전처리 자동화 프로그램 만들 때, 일부 구간에서 튜플을 적용해서 인덱스를 받아왔다면, 실행속도를 압도적으로 줄일 수 있었을 것 같다!! 다만 튜플을 일부 구간에서 써야하고 리스트랑 튜플이랑 합치는 과정에서 더 메모리 손실이 발생할 수도 있을 것 같다 당시에는 데이터프레임 자체에서 작업을 하도록 하면, 시간이 너..

데이터 분석 및 시각화/파이썬

[Python] 기초 정리(함수, 리스트 메서드, 리스트 Stack처럼 활용, unpakcing, map, if문 등)

함수 기초 # 함수 정의부 def 함수명(인자, 인자, ...): 함수코드 return 반환값 # 메인 코드 x = 함수명(인수, 인수, ..) print('결과값', x)함수가 호출되면 함수 정의부로 가서 함수 호출부의 인수 값을 함수 정의부 인자값에 순서대로 대입 후 함수 정의부 내부 코드를 순차적으로 실행합니다. 해당 함수에 return 값이 있는 경우, 함수 호출부를 return 값으로 치환합니다. 리스트 메서드 리스트를 Stack처럼 활용하기 Stack은 후입선출(Last in First Out) 구조, 마지막에 넣은걸 먼저 빼는 구조입니다. Stack에서 자료를 꺼낼 때 pop()으로만 꺼내어 Stack 자료구조처럼 활용하고 있습니다. stack = [3,4,5] stack.ap..

일기

데이터엔지니어링 트랙 1일차 후기

블로그로 노션이나 티스토리 마크다운 기능 적극 활용하라고 하심 Git은 간단하게 배웠는데, 슬랙에 자료공유 많이해주셔서 좀 더 심화학습 해야할 듯 파이썬 앵간하면 다 알고 있는 줄 알았는데, 듣다보니까 꿀팁들이 너무 많았다. 아직 한~참 부족해

데이터 분석 및 시각화/파이썬

[Python] 기초 정리(지수표기법, 2진법, 개행문자, literal 등)

프로그래밍 기초(컴퓨터) 컴퓨터 전기적 신호가 있고 없고를 1과 0으로 구분하여 만들어낸 산물, 이진법을 이용하여 논리, 연산, 저장을 수행하는 전자기계 컴퓨터를 켜고 각자의 목적에 따라 프로그램을 실행한다 이 프로그램은 모두 코드로 이루어져있다 프로그램 동작 과정 파일은 저장 장치에 저장 저장장치에 보존된 파일을 실행하면 RAM(메모리)에 그 파일의 시퀀스에 따라 필요한 부분 복사 RAM에 복사된 파일을 CPU와 빠른 속도로 주고 받으며 연산을 시작하며 프로그램이 동작 프로그래밍 현실문제에 대해 해결책을 찾고 이를 설계하여 프로그래밍 언어로 구현하기까지의 필요한 모든 행위 소스코드(SORUCE CODE) 프로그래밍 언어로 작성한 텍스트 파일을 소스코드 프로그래밍 언어를 컴퓨터가 이해하는 방식 인터프리터..

Git

[Git] Git 연동 및 버전 관리 방법

Git은 분산형 버전 관리 시스템, 버전별로 코드, 다양한 파일 관리가 가능하다. 간단하게 깃에 연동하고 업데이트 하는 방법 1. Git 다운로드 https://git-scm.com/downloads Git - Downloads Downloads macOS Windows Linux/Unix Older releases are available and the Git source repository is on GitHub. GUI Clients Git comes with built-in GUI tools (git-gui, gitk), but there are several third-party tools for users looking for a platform-specific exp git-scm.com 사..

일기

블로그를 시작하면서

데이터엔지니어로 내 진로를 확실히 정하면서, 엔코아 플레이데이터 데이터엔지니어링 트랙 과정 6개월 과정에 참여하게 됐다. 데이터 회사에서 일하면서, 적성에 너무나도 잘 맞고 어떤 일보다 흥미롭고 재밌다는 점도 발견했다. 학원 오티날 강사님께서 기록할만한 블로그를 만들라고 하셨다. 내가 정리한 자료만큼 내가 이해가 쉬운 자료들은 없다고 항상 생각했는데, 지금까지 해왔던 것들, 그리고 이제 배울 것들도 전부 이 블로그에 담을 생각이다. 데이터에 관한 걸 배우는 것만큼 흥미로운 일은 없다. 한 반이 다 같은 진로를 생각한 만큼, 계속 동료로 지내면서 학원이 끝나도 동료로 지낼 수 있었으면 좋겠다. 가장 설레는 건 앞으로 배우는 내용들을 학원에서 매 스텝마다 프로젝트를 팀원들과 함께한다는 건데, 솔직히 너무너무..

우상욱
데이터엔지니어스터디