프로그래밍 문법/python 64

aws s3 스토리지에서 파일 다운로드, 열기

1. 파일 다운로드 s3.download_file('버켓이름','버켓하위 경로를 포함한 s3속 파일이름',"로컬에 저장할때 파일이름") * 예시 import boto3 s3=boto3.client('s3') s3.download_file('presentation-storage','UserPowerpoint/test6.txt',"down_file.txt") 2. 저장안하고 바로 열기 s3.Object("버켓이름","버켓 하위경로 포함한 파일이름") * 예시 s3=boto3.resource('s3') obj=s3.Object('presentation-storage','UserPowerpoint/test6.txt') myBody=obj.get()['Body'].read() print(type(myBody)) ..

내가만든 모듈 import하기

1. 개요 내가 만든 모듈을 import해서 쓰는 방법이다. 같은 디렉토리안에 넣고, a.py모듈을 b.py에서 쓰고싶으면 b.py에서 import a를 하면된다. 즉 아래와 같이 쓸 수 있다. # b.py파일 import a 2. 예시 - 디렉토리 구성 basic_nodes라는 모듈을 만들고, 이를 test2에서 불러 오려고 한다. 디렉토리 구성은 아래와 같다. - basic_node.py import numpy as np class mean_node: def __init__(self): self._x=None self._z=None def forward(self, x): self._x = x self._z = np.mean(self._x) return self._z def backward(self, ..

중복순열 product

파이썬에서 product라는 모듈을 이용하여 종복순열을 구현할 수 있다. 1. 모듈 불러오기 from itertools import product 2. 사용법 (1) 예시1 a=list(product([0,1,2],[0,1,2])) print(a) [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)] (2) 예시2 *같은 모양은 repeat 파라미터를 이용할 수도 있다. a=list(product([0,1,2],repeat=2)) print(a) [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)] (3) 예시3 a=list(product([0,1,2]..

[판다스함수] qcut과 cut함수

qcut은 데이터의 개수를 기준으로 데이터를 나누고 cut은 데이터의 수치를 기준을 데이터를 나눈다. 아래에 코드와 자세한 예시가 있다. 실제 데이터 예시는 타이타닉 네모카드 하나가 데이터이고, 적힌 숫자가 그 데이터의 값. 1. qcut 데이터를 나누고싶은 구역에 모두 똑같은 개수가 들어가도록 나눈다 (한구역에 7개씩) pd.qcut(temp['Age'], 10) 2. cut 데이터를 데이터값을 기준으로 일정하게 자른다.(3씩) pd.cut(temp['Age'], 10)

구글드라이브에 있는 파일 코랩으로 불러오기

구글 드라이브에 파일을 저장해놓고, 코랩에서 코드를 통해 파일을 읽어올 수 있다.내 구글 드라이브에 접근하기 위해 코랩에서 구글 드라이브 라이브러리를 다운받아야 한다. (1) 아래의 코드를 코랩에서 실행시킨다.from google.colab import drive drive.mount('/gdrive', force_remount=True) (2) 구글드라이브를 연동할 계정 인증하기(1)을 실행시키면 빈칸과 링크가 뜨고 그 빈칸에 인증코드를 입력하라는 안내문이나온다. 링크를 타고들어가서 코랩과 연동 할 구글계정으로 로그인 하면 인증코드가 나온다그 코드를 복사해서 빈칸에 붙여넣기하면 아래와 같이 마운트된다. (3) 드라이브의 경로드라이브의 경로는 '/gdrive/My Drive/' 부터 시작이다.여기서 da..

구글 코랩 시작하기 (셋팅, 파일만들기)

1. 들여쓰기 설정, 다크모드 설정 처음에 기본설정으로 테마는 화이트에 들여쓰기는 2로되어있는데, 들여쓰기는 4로하는게 편하고, 고수들은 모두 ide를 검은색으로 해놓고 쓰기 때문에 우리도 검은색으로 바꾸도록 한다. (1) 오른쪽 위에 설정버튼을 누른다 (2) 편집기 탭으로 들어가서 색상은 default dark로 바꿔주고, 들여쓰기는 4로 해준다. 2. 파일만들기 (1) 파일-새노트를 누르면 새 파일이 열린다. (2) 새 파일을 만들면 구글 드라이브에 colab Notebooks라는 파일이 생기고 거기에 저장이 된다. 형식은 ipynb.

pickle라이브러리를 이용하여 객체를 파일로 저장하기

1. 라이브러리 로드 import pickle 2. 피클형식으로 데이터 저장하기 user={'dong':29,'sung':19} #데이터 저장하기 # =>user.pickle라는 파일로 저장이 된다 with open('user.pickle','wb') as fw: pickle.dump(user, fw) 3. 피클형식의 데이터 파일 불러오기 # load data # =>user_loaded라는 변수에 저장이 된다 with open('user.pickle', 'rb') as fr: user_loaded = pickle.load(fr)

문자열 함수 (숫자,공백,문자 확인하기)

sen=input("문자열을 입력하시오: ") d={'digit':0, 'space':0, 'alpha':0} for i in sen: if i.isalpha(): #모두 문자이면 true d['alpha']+=1 elif i.isdigit(): #모두 숫자이면 true d['digit']+=1 else: #공백이면 true d['space']+=1 print(d) i가 문자열타입일때 i.isalpha() => i가 모두 문자이면 true i.isdigit() => i가 모두 숫자이면 true i.isspace() => i가 모두 공백이면 true

collections 패키지의 Counter함수를 이용한 빈도 확인

1. 설명 리스트를 입력했을 때 빈도를 측정해주는 함수이다. 다음과 같은 word 리스트가 있다고 하자. ['존경', '국민', '여러분', '경자년庚子年', '독립운동', '임시정부', '수립', '년', '해', '올해', '혁명', '주년', '민주화운동', '주년', '년', '전', '촛불', '민주공화국', '숭고', '정신', '정의', '안전', '평화', '행복', '나라다운', '나라', '국민', '준엄한', '명령', '우리', '정부', '과감', '변화', '선택', '경제', '사회', '구조', '근본적', '변화', '개혁', '우리', '사회', '만연한', '반칙', '특권', '청산', '불평등', '양극화', '극복', '노력'] 아래와 같은 코드를 이용하여 coun..

객체가 속해있는 클래스의 내장함수 확인하는법 dir

dir(객체) 를 하면 객체가 속해있는 클래스의 내장함수들을 확인할 수 있다. * string 클래스 a="string" print(dir(a)) ['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce_..

클래스 static 변수

파이썬에선 클래스 내의 변수는 일단 static 변수로 생각하면된다. 따라서 각 객체에서 접근하면 메모리 위치가 같다. class myClass: staticValue=0 def __init__(self,x,y): self.x=x self.y=y e=myClass(10,20) f=myClass(20,30) print(id(e.staticValue)) print(id(f.staticValue)) 4548777056 4548777056 또한 변수를 수정했을때도 반영된다. ( class.staticvalue 형태로 접근한다 ) myClass.staticValue=100 print(e.staticValue) print(f.staticValue) 100 100 여기서 객체를 통해 staticValue를 수정하면,..

오버로딩과 오버라이딩

1. 오버로딩 : 이름은 같고, 매개변수의 타입과 개수만 다른 함수가 여러개 있을 때, 입력값의 형식이 맞는 함수를 적절히 찾아서 사용하는기술 * 파이썬에선 오버로딩이 불가능 하다! 같은 이름의 함수가 여러개 있으면, 가장 밑에 있는 함수가 실행됨 (덮어써지기 때문에) 2. 오버라이딩 : 부모클래스와 상속된 자식 클래스의 매소드이름이 같을 때 자식 클래스의 함수를 사용하는 것 (함수를 재정의하는 기술) # 상속 class FourCal: def __init__(self, first, second): self.first = first self.second = second def setdata(self, first, second): self.first = first self.second = second de..