본문 바로가기

기술스택을 쌓아보자/Python26

[python] requests 로 OPENAPI /API 사용하는 코드 샘플 api 는 상당히 많이 사용되는데, 데이터 수집용으로 사용하게 되어서 정리해보았다. api는 파이썬 패키지로 감싸서 제공하는 형태도 있지만 여기서는 url/uri 형태로 requests 패키지를 통해 사용하는 법을 정리해보았다. requests 패키지 사용하기(get) 보통은 아래의 것들을 사용한다. import requests res = requests.get(url) #200, 401 등의 상태코드 res.status_code #요청의 콘텐츰 res.content 로그인을 해야하는 경우 위의 코드처럼 간단하게 처리되면 좋지만, 보통은 단순 get 만 있는 것이 아니라 사용자 인증을 진행해주어야 한다. 이런 경우 session 상태를 변경시키는 post를 사용하여 사용자 인증을 진행해주어야 한다. im.. 2022. 6. 6.
[python] staticmethod, classmethod 데코레이터 여러개 쓰기AttributeError: 'staticmethod' object has no attribute '__module__'/ 데코레이터는 간단하게 아래처럼 중첩해서 사용하면 된다. @decor1 @decor def num(): statement(s) 그런데~ 아무생각 없이 @staticmethod와 중첩해서 사용하니 에러가 발생했다. @staticmethod @classmethod와 중첩시 유의점 @staticmethod @classmethod가 바깥에 와야한다(먼저) 안그러면 아래와 같은 AttributeError가 발생한다. Traceback (most recent call last): File "/opt/conda/lib/python3.6/runpy.py", line 193, in _run_module_as_main "__main__", mod_spec) File "/opt/conda/lib/python3.6/runpy... 2022. 5. 18.
[조각pandas] 랜덤한 행, 열 고르기(choose random rows/columns), df.sample() 랜덤 데이터를 추출해서 데이터를 검토하고 싶는 생각이 들었다. 제곧내. df.sample()을 사용해보자! df.sample() df.sample(n = 20) # 20개의 행을 랜덤 샘플로 선택 df.sample(frac = .5) # 50%의 행을 랜덤 샘플로 선택 2021. 12. 5.
[pandas] 데이터프레임이 먹고있는 메모리 확인하기(Out Of Memory 디버깅의 시작이 아닐까?) 간혹 빅데이터를 다루다 보면, 기기의 메모리를 먹느라 OOM 에러가 날때가 많다. 이럴 때, 나는 아래와 같은 순서로 디버깅을 한다. 1. 동일한 데이터가 중복으로 선언된 코드가 없는지 확인 2. 데이터 자체의 메모리를 확인 사실 OOM이라함은 기기의 사양이 근본적인 원인이지만, 그래도 혹시나,,, 하는 마음에 확인해본다 ㅎㅎ 아래는 데이터 프레임이 먹는 메모리를 확인하는 코드이다. #방법 1 df.info(memory_usage="deep") #방법 2 df.memory_usage(deep=True) 두개의 차이는 아래와 같다. df.info(memory_usage="deep") 메모리 정보 뿐만 아니라 null, dtype 정보도 나온다. df.memory_usage(deep=True) df 내의 열.. 2021. 8. 18.