목록데이터 사이언스 공부 (10)
꿈을 향해 on my way
When cloning github repository, “Permission Denied” error occurred. You need SSH key generated and the public key under id_rsa.pub should be added to your github account. Generate SSH keyssh-keygenThis will generate two files in the ~/.ssh directory within your home.~/.ssh/id_rsa~/.ssh/id_rsa.pub2. Add public key in Github accountCopy the content of the newly-generated id_rsa.pub file.Go to gith..
Karl 은 우리 회사 Software Third Party Provider 업체인 Nearly Human 의 사장님이다. 우리 회사 메인 어플리케이션인 EnergyScoreCards 두번째 버전을 개발하는 프로젝트에 참여중인데 내 첫번째 PR 에 Karl 이 직접 리뷰를 해줬다. 배운걸 까먹고 싶지 않아 간단히 기록한다. 1. 상수는 클래스 안에 넣어라, 함수 안이 아니라. (Put constant variable under class, not under function) # original code def _get_data(self, dataset_id, version_id, access_token): print(' ',(colors.green & colors.bold)["+"], 'Getting t..
원본 데이터 난 이렇게 바꾸고 싶었다. pd.melt pd.droplevel pd.unstack 해결방법 여러개 찾아봤는데 pd.unstack 여러번 하는게 먹힘 data = data.unstack().unstack(level=1).reset_index(level=1).reset_index()
이거 먼저 알고가자. GitHub Repository 는 코드만 저장하는 곳이지 대용량 데이터를 저장하는 곳이 아니다 데이터 사이언스 프로젝트를 진행하다 보면, 대용량 데이터를 다루는 경우가 많다. 초보들은 GitHub Repository에 대용량 데이터를 포함한 디텍토리 전체를 올리려 한다. 이는 초보적인 실수다. 명심해라. GitHub Repository에 가볍게 코드만 저장하는 곳이지 대용량 데이터 를 업로드 하는 곳이 아니다. 대용량 데이터 관련 해결책은 보통 두 가지를 떠올린다. 1) Git LFS (Large File Storage) : 100MB 이상 파일은 Git LFS를 이용해 GitHub Repository에 저장할 수 있다. 100MB가 조금 넘어가는 중소형 데이터는 Git LFS를 ..
1. KeyError : pandas 'json_normalize' 를 쓰다 보면 KeyError가 자주 뜬다. argument 없이 간단한 json 파일을 처리할 땐 문제가 없는데 'record_path' 랑 'meta' argument 를 쓰다 보면 KeyError 가 자주 발생한다. json 파일 형태가 일률적이지 않을 때가 특히 그런데 예를 들어, response = {'contacts': [{'contact_type': 'individual', 'is_green_match': True, 'is_signatory': True, 'match_score': 101, 'persons': [{'addresses': [{'city': 'NEW YORK', 'line1': '31 W 34TH ST', 'po..
문제 : API response 로 json 파일을 받았다. 데이터 실사용자는 세일즈팀과 마케팅팀이었는데 사용자들이 작업하게 편하게 json 파일을 정리 (플래화) 시켜서 csv 파일로 변환해야 했다. 문제는 json 포맷이 매우 복잡했다는 점 - 딕셔너리 안에 리스트로 된 딕셔너리가 있고 정리하기 까다로운 형태였다. {'contacts': [{'contact_type': 'individual', 'is_green_match': True, 'is_signatory': True, 'match_score': 101, 'persons': [{'addresses': [{'city': 'NEW YORK', 'line1': '31 W 34TH ST', 'postal_code': '10001', 'state_code..
API (Application Programming Interface)는 자판기처럼 작동한다. 돈을 넣고 원하는 걸 선택하면 (get, post) 그에 맞는 상품을 뱉어낸다 (response). 반면에, Webhook은 요구 없이 특정한 조건/ 상황이 발생하면 자동으로 결과물 (event)를 발생시킨다. Webhook은 Reverse API 라고도 불린다. API 대화가 '(어플리케이션) 데이터 요청' -> '(서버) 응답' 을 기반으로 작동하는 반면, Webhook은 어플리케이션이 데이터 요청의 주체가 아닌 송신의 주체가 된다는 점에서 API와 대조적이라고 할 수 있다. 최근 Webhook의 인기가 많아지고 있다. 웹 도구들의 상호연결성이 계속 증가되면서 Webhook은 실시간 알림이나 데이터 업데이트..
1. Import libraries import mysql.connector import pandas as pd If you don’t have mysql.connector, go here / if you don’t have pandas, go here 2. Create a connection cnt = mysql.connector.connect( host="datawarehouse.brightpowerinc.com", user= "jpark", # your dbeaver id passwd= "legendaryfob" # your dbeaver password ) *Credentials (e.g. DBeaver username and password) are sensitive information and..
Credentials (for example, DB_USER (Dbeaver user_id) and DB_PASS (Dbeaver user_password) below) are sensitive information and should be stored securely. Using a .env file will enable you to use environment variables for local development without polluting the global environment namespace. It will also keep your environment variable names and values isolated to the same project that utilizes them...
1. 크롬 익스텐션 - 'Web Scraper' 설치 (webscraper.io/) webscraper.io 에서 위의 스크린샷과 같이 프로그램을 다운받으면 설치가 끝납니다. (보통 크롬 익스텐션 프로그램은 다운로드 후 오른쪽 상단에 아이콘이 생기는데 이건 안생깁니다. 괜찮아요. 당황하지 않으셔도 됩니다. 'Developer tool' 을 키면 보임) 2. Web Scraper Tool bar 열기 Web Scraper Tool bar 를 열려면 Developer Tool 창을 열어야 합니다. - 단축키 'Ctrl + Shift + I' 로 켜도 되고 - 우측 세팅 아이콘을 이용해 'More tools' -> 'Developer Tool' 로 키셔도 됩니다. 위의 사진 내 아이콘을 이용해 Dock sid..