파이썬에서의 패킹 언패킹을 설명하겠습니다. 일상생활에서 패킹을 포장한다는 의미로 많이 쓰고 있습니다. 포장은 내용물을 보호하고자 내용물을 싸는 행위입니다. 즉, 패킹은 내용물을 보호하려는 목적을 가지고 있습니다. 그래서 파일 보호를 위해 복호화하여 파일분석을 어렵게 하는 경우를 패킹이라고 불리기도 합니다. 그런데 파이썬에서는 싸는 행위에 더 초점을 맞춘 듯합니다. 파일 보호의 역할보다는 감싸는 역할로써 사용하고 있습니다. 패킹 파이썬에서의 패킹이란 여러 개의 값을 한 변수에 묶어 대입하는 것을 뜻합니다. 예를 들어 1,2,3,4,5 를 하나의 변수로 묶는다면 다음과 같이 할 수 있습니다. num = 1,2,3,4,5 print를 해보면 튜플로 출력을 합니다. print(num) 언패킹 반대로 언패킹은 묶..
리스트가 튜플로 구성되어 있는 경우 정렬하는 방법입니다. 이전 포스팅에서 딕셔너리 정렬하는 방법을 설명했었는데요. 그 방법과 유사합니다. 기본 골자는 인덱스를 이용하는 방법입니다. 메쏘드의 차이만 있을뿐입니다. sorted() 이용 sorted 메쏘드를 이용하는 방법입니다. 다른 리스트로 재정의해야 할때 주로 씁니다. tuple_list = [('A','1','20210717'),('B','2','20210706')] sort_list = sorted(tuple_list, key=lambda x:x[2]) sort_list x[i] 에서 i에 정렬기준이 되는 인덱스 번호를 넣어서 만듭니다. sort() 이용 리스트 재정의 없이 단번에 정렬하는 방법입니다. tuple_list = [('A','1','202..
작업 스케쥴러에 작업을 추가시키면 이름 변경이 불가합니다. 아래 그림처럼 이름 부분이 하얀색이 아닙니다. 그럼에도 이름을 바꾸는 방법입니다. 1. 이름을 바꾸고자 하는 작업을 선택하고 마우스 오른쪽 클릭을 해서 내보내기를 선택합니다. 또는 오른쪽 옵션 창에서 내보내기... 을 선택합니다. 2. 내보내기를 누르면 저장하는 창이 나오는데 자신이 원하는 경로에 저장합니다. 3. 작업 가져오기..를 선택합니다. 4. 저장했던 파일을 가져오면 새 작업 만들기.. 창이 뜹니다. 이제 이름을 바꾸시면 됩니다. 가져왔던 작업이기 때문에 트리거나 동작 설정은 기존의 작업과 동일하게 설정되어 있어서 이름만 바꾸려 한다면 변경할 건 없고 이름을 바꾼후 확인을 누릅니다. 5. 기존에 있던 작업을 지웁니다. 관련 포스팅 [Py..
cmd에서 pip 패키지 설치와 버전 업그레이드 방법입니다. cmd를 관리자 모드로 실행시켜서 수행합니다. 설치 설치는 cmd에서 다음을 입력합니다. pip install "패키지이름" 버전을 지정하고 싶다면 == "패키지버전" 을 추가합니다. pip install "패키지이름"=="패키지버전" 제거 pip uninstall "패키지이름" 업그레이드 하나씩 지정해서 업그레이드를 합니다. pip install "패키지이름" --upgrade pip 자체 업그레이드 pip도 업그레이드가 필요한데 cmd를 관리자 모드로 하지 않고 실행하면 일부 설치를 안한 상태로 설치를 완료합니다. 그러면 업그레이드도 안되고 install을 다시해도 안 먹히게 되어서 pip 을 제거한 후 다시 설치를 해야합니다. 관리자로 c..
Comprehension는 iterable한 오브젝트를 생성하는 방법으로 list, dict, set 같은 오브젝트에 원소를 담을 때 주로 사용합니다. for문을 안에 넣어서 수행하기 때문에 짧은 코딩으로 만들 수 있습니다. List comprehension 리스트를 생성하기 위한 comprehension 입니다. 간단하게 구성하면 아래와 같이 할 수 있습니다. sqaure = [x**2 for x in range(10)] sqaure 조건문도 넣을 수 있습니다. sqaure = [x**2 for x in range(10) if x%2==0] sqaure Set comprehension set은 리스트와 다르게 동일원소가 안 나오는 경우입니다. 그것 말고는 List comprehension과 동일합니다...
주식에서 보조지표나 이평선같은 기술적분석에 쓰이는 것을 계산해주는 모듈인 TA-lib를 설치할 때 파이썬 버전과 64비트인지 32비트인지를 알고 있는게 중요합니다. 무작정 pip install ta_lib 를 하면 거부를 해서 설치를 안 합니다. 이건 Ta-lib의 최신버전에 맞는 파이썬과 비트가 달라서 일어나는 현상인데요. 이런 이유 때문에 각각 버전에 맞는 설치파일을 .whl 파일로 제공하고 있습니다. https://www.lfd.uci.edu/~gohlke/pythonlibs/ Python Extension Packages for Windows - Christoph Gohlke by Christoph Gohlke, Laboratory for Fluorescence Dynamics, Universit..
datetime 모듈을 이용한 시간 날짜 구하는 방법입니다. 현재시간,날짜 구하기 현재시간 구하는 방법입니다. 연도부터 마이크로초까지 나옵니다. 메쏘드는 today() 를 쓰거나 now() 를 쓰면 됩니다. 둘다 같은 결과가 나옵니다. from datetime import datetime today = datetime.today() #현재 시간 now = datetime.now() #현재 시간 print(today) print(now) 마이크로초에서 시간 차이가 있었지만 아무튼 둘다 같은 결과가 나옵니다. 현재날짜에서 추출하기(심플) 현재 날짜에서 연이나 일, 시간 추출하는 간단한 메쏘드입니다. 정말 간단하게 시간 추출할 때 유용합니다. print(now.year) #연 print(now.month) #..
파이썬 편집기인 파이참 설치방법입니다. 파이참 설치파일 다운로드 아래 링크에서 설치파일을 받습니다. Professional은 유료버전이고 Community는 무료버전입니다. 유료버전을 하면 파이썬과 HTML, JS,SQL 을 같이 쓸 수 있습니다. https://www.jetbrains.com/ko-kr/pycharm/download/#section=windows 다운로드 PyCharm: JetBrains가 만든 전문 개발자용 Python IDE www.jetbrains.com 설치 설치파일을 실행하면 아래 그림처럼 뜹니다. Next를 눌러줍니다. 설치할 폴더를 정해줍니다. 꼭 C 드라이브일 필요는 없습니다. Create Desktop Shortcut : 바탕화면에 바로가기를 만듭니다. Update co..
파이썬이 32bit인지 64bit 인지 확인하는 방법입니다. cmd나 파워셸에서는 python에 들어가면 python의 정보를 알 수 있어서 64인지 32인지 나오기는 합니다. python을 요청하면 그림의 빨간 사각형처럼 64bit 임을 알려줍니다. 그런데 이미 파이썬에 들어가 있는 상태에서 확인하고 싶다면 platform 모듈을 사용합니다. 다음과 같은 코드를 써보면 바로 현재 파이썬이 몇 bit 인지 알 수 있습니다. import platform print(platform.artitecture()) 64bit인 걸 확인할 수 있습니다. 쥬피터에서는 print를 안 써도 바로 출력이 됩니다.
최근에 노트북을 새로 장만했습니다. 제 데스크탑에서 쓰던 개발환경 그대로 가져올 수 있는 방법이 있지 않을까 하는 마음에 찾아보니 여러 방법이 있더군요. 그 중에서 conda를 이용한 방법을 정리합니다. 설치방법은 간단합니다. conda로 기존의 개발환경 설치 패키지 목록을 .txt로 저장한 후 새로 설치할 곳에 목록대로 설치해달라고 요청하면 됩니다. 패키지 설치 목록 가져오기 내가 원하는 가상환경의 설치 목록을 가져오는 방법입니다. 설치 목록을 txt 파일로 저장하겠습니다. 파워쉘이나 cmd에서 실행을 할건데 자신이 복사할 가상환경이 액티브되어 있는지 반드시 확인하시고 실행하시기 바랍니다. 쥬피터에서도 물론 할 수 있습니다. 코드 앞에 !를 붙이고 실행하면 문제없이 돌아갑니다. 목록을 부르는 것이 co..
파이썬에서 해당폴더의 특정확장자 파일이 있는지 검색하는 방법입니다. 전체경로를 가지고 오는 것까지 하겠습니다. 두가지 방법만 설명하겠습니다. os 로 찾기 glob 로 찾기 OS 로 찾기 이전 포스팅 에서 한번 살짝 다루었는데 그때는 os를 이용해 파일 목록만 가져왔습니다. 이번에는 좀 더 업그레이드 되어서 해당 폴더에서 특정 확장자 파일목록만 가져오겠습니다. 이걸 하기 위해서는 endswith()라는 함수를 써야 하는데요. endswith()은 특정 문자열에서 제시한 것이 있는지 없는지 확인하는 함수인데 다음과 같이 쓸 수 있습니다. 'abcd'.endswith('cd') 특정 문자열 뒤에 함수를 넣어주고 확인할 문자열을 괄호안에 넣어주면 됩니다. endswith()를 이용해서 다음과 같이 진행을 합니..
array 모듈을 이용한 array 사용법입니다. 거의 쓰이진 않지만 numpy의 nd.array를 좀 더 이해할 수 있을것 같아서 정리를 해봅니다. array 만들기 array를 만들어보겠습니다. array를 만들려면 리스트가 필요합니다. 리스트 하나를 만들고 만들어보겠습니다. import array v = [1.0,2.0,3.0,4.0,5.0] a= array.array('f',v) a v라는 리스트를 array로 바꾸었습니다. 'f'는 float을 의미합니다. array는 데이터타입을 결정해주어야 합니다. 데이터 타입은 다음과 같이 나타냅니다. Type code C Type Minimum size in bytes 'b' signed integer 1 'B' unsigned integer 1 'u' ..
conda의 기본 기능들을 정리합니다. conda를 업데이트 하거나 파이썬 인스톨,업데이트 패키지를 업데이트 제거 하는 그런 명령어들입니다. 다음 명령어들은 파워쉘이나 anaconda prompt 에서 작동하니 명심하시기 바랍니다. 진짜 간단한 몇가지만 소개하겠습니다. Python x.x 인스톨 conda install python=x.x Python 업데이트 최신버전으로 파이썬이 업데이트 됩니다. conda update python 패키지 인스톨 numpy나 pandas같은 패키지를 설치할때 사용하는 명령입니다. '패키지이름' 이라 표시된 곳에 설치하려는 패키지 이름을 넣으시면 됩니다. conda install '패키지이름' 패키지 제거 conda remove '패키지이름' 패키지 찾기 해당 패키지를 ..
파이썬의 데이터 타입 중 set을 살펴볼까 합니다. set은 수학 시간에 배운 집합을 모티브로 만든 데이터 타입이라서 수학의 집합과 성질이 비슷합니다. 순서가 없고 한 원소만 set에 들어갈 수 있습니다. 예를 들어, 중복 원소가 있는 리스트를 set으로 바꾸면 중복원소가 없어집니다. s = set(['a','ab','c','cd','d','ab','cd']) s 집합 모양도 수학시간에 본 집합모양으로 나오게 됩니다. 합집합, 교집합, 여집합, 대칭차도 가능합니다. 대칭차는 (A U B) - (A ∩ B) 를 의미합니다. 즉, 집합 A와 B에서 교집합만 빠지는 경우를 말합니다. s = set(['a','ab','c','cd','d','ab','cd']) t = set(['a','b','c']) s.uni..
리스트나 딕셔너리를 메모장에 저장하는 방법에 대해 설명하겠습니다. 데이터를 저장은 해야 하는데 엑셀에 하기엔 너무 무겁고 그렇다고 피클로 하면 데이터를 불러올 때마다 파이썬을 실행시켜야 하는데 이럴 때 가볍게 저장할 수 있는 곳이 메모장인 것 같습니다. 메모장에 출력 결과를 넣는 이유는 빠르게 저장할 수 있고 코딩도 간편합니다. 스피드가 필요할 땐 아주 적합합니다. 하지만, 많은 양의 데이터를 저장하기에는 조금 안 좋습니다. 정리가 안되서인데요. 메모장은 최소한의 기능만 있어서 데이터 자체가 복잡해지면 정리가 불가능합니다. 정리정돈이 필요한 데이터인 경우 파이썬으로 미리 정리하셔서 엑셀에 저장하는 걸 추천합니다. 리스트를 메모장에 저장하기 리스트 안에 있는 원소들을 하나씩 저장하는 방법입니다. 먼저 준비..