본문 바로가기

mambo's coding note346

Python : basic : lambda function(람다함수) 람다(lambda)란?? 람다(lambda)는 익명함수를 지칭하는 용어입니다. 익명함수는, 함수지만 기존의 함수 선언 문법과 달리 함수를 명명하지 않고도 정의할 수 있는 함수입니다. # 기존 함수 정의 def example_plus(a, b): return a + b print(example_plus(4,2)) # 람다 함수 example_plus = lambda a, b : a+b print(example_plus(4,2)) 기존 함수보다 람다함수가 더 간결하다. 함수를 정의하면서 바로 변수에 넣을 수 있어서 편리하다 map, reduce, filter a = [1, 6, 2, 5, 2, 7, 2, 8, 9, 11, 5, 26] result = list(map(lambda x : x**2, a)) # .. 2019. 11. 23.
Python : basic : 문자열 (re) re, 정규식 표현 (개 중요~) 텍스트 데이터를 다루다 보면 텍스트에서 일정한 패턴을 찾아야 할 때가 있다. 패턴이란 이메일 주소 형식, ‘한글 문자 연속 세 개’, ‘열 자리 숫자’ 등 텍스트가 배열된 규칙을 뜻한다. 이처럼 텍스트의 패턴을 나타내는 텍스트를 정규식(regular expression)이라고 부른다. 어떤 텍스트에서 지정한 패턴이 발견될 때 ‘텍스트에 패턴이 매치한다’라고 한다. 패턴 매치를 활용하면 텍스트가 올바른 형식인지, 텍스트에 어떤 내용이 포함되어 있는지 등을 확인할 수 있다. 예를 들어, 사용자가 입력한 이메일 주소가 올바른 형식인지 검사하거나, 문서에서 한글이 몇 자이고 알파벳이 몇 자인지 셀 수도 있다. 정규식은 텍스트를 다루는 대부분의 프로그램에서 유용하게 활용된다. 정.. 2019. 11. 22.
Python : basic : 문자열 (format) 이름공간의 이름이 가리키는 값 출력하기 >>> import math >>> '원주율: {0.pi}'.format(math) '원주율: 3.141592653589793' format에 math라는 모듈을 넣고, 모듈안의 변수를 넣어주면, 실제로 값이 나옴을 알 수 있다. json 형식 출력해보기 >>> countries = [ ... {'name': 'China', 'population': 1403500365}, ... {'name': 'Japan', 'population': 126056362}, ... {'name': 'South Korea', 'population': 51736224}, ... {'name': 'Pitcairn Islands', 'population': 56}, ... ] >>> for.. 2019. 11. 22.
Python : basic : list.sort(), sorted list.sort() list.sort()는 list를 sort해서 list에 다시 저장하는 느낌이다. 즉 list = sorted(list) 라고 생각하면 어렵지 않다. sorted( list_name, 조건(key 값을 다르게 준다, Descending or Ascending) ) # 공백을 기준으로 문자열을 나누어 리스트로 변환한다 # 리스트로 변환시 >>> sorted("This is a test string from Andrew".split(), key=str.lower) ['a', 'Andrew', 'from', 'is', 'string', 'test', 'This'] 뒤에 key를 str이 lower한 것 부터대로 sort하는 것을 의미한다. sorted를 복잡한 객체를 정렬할 때 자주 사용.. 2019. 11. 22.
Python : SQLite : SQLite 란? Why? sqlite는 embedded (내장된) database 소프트웨어로, 웹브라우저 같이 application software안에 local/client storage이다. 기본 기능 CRATE TABLE # table 생성 CREATE TABLE extract_urls(title text, url text, user_count INTEGER DEFAULT 1, visit_count INTEGER) # table이 없을 경우 생성 CREATE TABLE IF NOT EXISTS extract_urls(title text, url text, user_count INTEGER, visit_count INTEGER) DEFAULT는 그 곳에 다른 값을 주지 않는다면, default 기본값으로 1을 준다.. 2019. 11. 19.
Python : basic : List -> Dict로 압축, json 출력 result = [(,,,),(,,,) ----------] def print_json(result): columns = ['title', 'url', 'user_count', 'visit_count'] change_dict= [] for result_line in result: # crawling_url = result_line[1] # print(crawling_url) change_dict = dict(zip(columns, result_line)) return change_dict print(json.dumps(print_json(result))) """ output: {"title": "\uc815\ubc30\uc6b0, \ub355\uc790-\ud131\ud615 \ubd88\uacf5\uc.. 2019. 11. 19.
Linux : SSH 이해하기 SSH Protocol SSH 는 Secure Shell의 약자이다. 즉, 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주는 프로토콜이다. VPN을 구성하는 것보다 가격이 저렴하고 쉽게 연결할 수 있어 많이 사용된다. SSH 프로그램 중 내가 많이 쓰는 프로그램은 PuTTy 다. MacOS에는 OpenSSH 클라이언트와 서버가 내장되어 있기 때문에 바로 사용할 수 있다. SSH는 22번 포트 를 사용하며, 크게 다음의 3가지를 제공한다. 1. Authentication SSH는 public key와 private key를 사용하는 비대칭 암호방식을 사용합니다. 간단히 설명하면, public key와 private key가 모두 있어.. 2019. 11. 15.
git & github : branch # branch list 보여주기 git branch # git branch 생성 git branch branch_name # git branch 변경 git checkout branch_name # git branch 생성 및 변경 한번에 git checkout -b branch_name # git branch 삭제 git branch -d branch_name # branch 명 바꾸기 git branch -m "branch 이름" # branch 원격저장소 list git branch -r # branch 원격 + 로컬저장소 list git branch -a # git 로 github branch 가져오기 git checkout -t origin/branch_name # git 비교하기 git di.. 2019. 11. 11.
git & github : git add, commit 취소하기, commit message 수정 git add # add 하기 git add # add 모두하기 git add --all # add 예전에 커밋한적이 있는 파일만 git add -u # add 하면 변경사항이 보인다. git add -p # add 할 때, 해당글자, ML이 있으면 add git add ML* git commit # commit 하면서 내가 메모할 말 --> "제일 많이 쓴다!!!" git commit -m "내가 올리면서 메모할 말" # 모든 branch 에서 commit 했던 내용들 git branch -v git push # git 로 push (리모트 저장소) (리모트 브랜치) git push origin branch_name # git 로 github branch 삭제 git push origin --delet.. 2019. 11. 11.
Numpy & Pandas & Sqlite : sqlite, Add column, 제약조건 Sqlite 제약 조건 https://thinking-jmini.tistory.com/19 [SQLite] 테이블 제약 조건 보통 테이블 스키마를 작성한 사람과 해당 테이블의 데이터를 입력하고 사용하는 사용자가 다른 경우가 많다. 그렇기에 우리는 최초 테이블 스키마를 작성할 때의 의도와 다르게 사용하는 경우가 많이 생기며 이로.. thinking-jmini.tistory.com DEFAULT, UNIQUE, CHECK, NOT NULL DEFAULT : 값을 안주면, DEFAULT = 'yes' -> yes가 들어간다. UNIQUE : id INTEGER NOT NULL UNIQUE 라고 한다면, id는 정수로써 빈 값이 될 수 없고, 중복이 안 된다. CHECK : email TEXT CHECK (em.. 2019. 11. 11.
Numpy & Pandas : Pandas Reference Pandas 기초 https://sacko.tistory.com/18 파이썬으로 데이터분석하자 (4) - Pandas 기본 파이썬 Numpy - 파이썬 라이브러리를 활용한 데이터 분석 中 ※본 포스팅은 "파이썬 라이브러리를 활용한 데이터 분석"을 다시 돌아볼 목적으로 필요 내용만 간단하게 정리하였습니다. 2017/09/19 - [Data Science.. sacko.tistory.com https://3months.tistory.com/292 Python - Pandas 튜토리얼 (데이터프레임 생성, 접근, 삭제, 수정) Pandas (Python Data Analysis Library) 파이썬을 통해 데이터 분석을 할 때, Pandas를 빼놓고 이야기할 수 없다. 온전히 통계 분석을 위해 고안된 R 과.. 2019. 11. 11.
Numpy & Pandas : DataFrame 객체 -> Sqlite3 DB에 저장 Data 입력 형태 : Dict or list, tuple import pandas as pd raw_data = {'col0': [1, 2, 3, 4], 'col1': [10, 20, 30, 40], 'col2':[100, 200, 300, 400]} df = DataFrame(raw_data) print(display(df)) """ Out[5]: col0 col1 col2 0 1 10 100 1 2 20 200 2 3 30 300 3 4 40 400 """ 위의 방법은 딕셔너리 형태를 저장!!! 딕셔너리 형태로 저장한다면, columns을 중심으로 저장하게 된다. import pandas as pd raw_data = [[1, 10, 100], [2, 20, 200], [3, 30, 300], [4.. 2019. 11. 11.