본문 바로가기

분류 전체보기219

초보자를 위한 티스토리 블로그 애드센스 광고 설정 방법 Google Adsense 승인 메일을 받자마자 며칠간 폭풍 검색을 통해서 Adsense 광고를 추가하는 방법을 공부하여 막상 블로그에 적용하다 보니 시행착오가 있었습니다. 제와 같은 초보를 대상으로 티스토리 광고 추가 방법에 대해서 설명을 하고자 합니다. ※ 현재 Adsense 심사용 코드를 넣지 않으신 분은 아래 아주 쉽게 설명한 동영상이 있어 링크를 추가했습니다. Adsense adsense scirpt 추가하는 방법: youtu.be/QoHYJpCHiv4 (출처: https://adsenseforum.co.kr/bbs/board.php?bo_table=adsense_guide&wr_id=239) 요약 1. 블로그에서 광고 배치 위치 계획하기 - 고정 위치 (상단, 하단, 사이드)와 컨텐츠 내 광고.. 2021. 9. 3.
Python 가상환경(Virtual Environment) 만들기 위한 virtualenv 명령어 및 실행 예제 Python은 2.x 버전부터 3.10 버전까지 개발되어 있습니다. 2.x버전과 3.x 버전에는 문법에 있어 많은 변경이 있었고, Python 3.x 버전에서도 기본적은 문법은 동일하나 함수 paramter 등의 변화가 있었습니다. Python은 1~2년 주기로 Major 버전 업그레이드가 진행되기 때문에 프로젝트를 진행할 때에는 일반적으로 과거의 특정 버전을 기준으로 개발합니다. 각 Python 버전 간의 차이로 발생하는 종속성 문제점을 해결하기 위해서 "가상 환경 virtualenv"를 지원합니다. 가상 환경은 아래와 같은 경우에 유용하게 사용합니다. 개발 서버에서 설치된 python verion과 별도의 project를 진행 (e.g. 서버는 python 3.8, 프로젝트 버전은 v3.6인 경우) .. 2021. 8. 24.
Python Dash를 활용한 Web App 구현 및 시계열 데이터 Visualization (Sample code) Dash는 plotly.js, React, Flask로 data visualization framework이며, MIT 라이선스로 배포하는 오픈소스입니다. Dash로 활용해서 Data 분석 결과를 웹 서비스로 구현할 수 있습니다. 아래 포스팅에서 Plotly와 Dash를 활용해서 Web 기반으로 Data를 Visualization 하는 간단한 설명을 하였으며, 이번에는 Dash에 대한 기본적인 동작 설명과 DataFrame의 시계열 데이터를 웹으로 구현하는 예제를 추가합니다. [SW 개발/Data 분석 (RDB, NoSQL, Dataframe)] - Python plotly와 dash를 이용한 Web 기반 data visualization (sample code) Flask Server와 다수의 Dash.. 2021. 8. 21.
k-mean Clustering 알고리즘 개념 및 Sample code Clustering(군집 분석)이란 주어진 데이터의 명확한 분류 기준이 존재하지 않는 상태에서 주어진 데이터의 특성을 분석해서 그룹(or 클러스터)으로 분류하는 알고리즘입니다. 클러스터안의 데이터는 유사한 특성을 가지게 됩니다. Cluster 알고리즘의 특성은 다음과 같습니다. 데이터를 k개의 클러스터로 묶는 알고리즘입니다. 비지도(Unsupervised) 학습입니다. 입력 데이터(X)에 대한 레이블링 데이터(Y)가 없이 입력 값 (X 값)의 특성만으로 학습을 진행합니다. 사용자가 클러스터의 개수(k)를 정의합니다. k-means, 스펙트럼 클러스터링, Mean Shift, VGBMM 등의 알고리즘이 개발되었습니다. 기계학습에서 Clustering은 다양한 분야에 적용할 수 있습니다. 예를 들어 사용자의.. 2021. 8. 16.
Keras를 이용한 다중 클래스 분류: softmax regression (Sample code) 다중 분류(Multi-class classification) 문제는 다수의 독립 변수(X)와 다수의 종속 변수(Y)가 있다면 Y의 값이 1 or 0으로 구분되는 Binary classification 대비 2개 이상의 값을 가지는 가질 수 있는 분류 문제입니다. Keras에서 다중 분류 사용하기 위해서는 Softmax활성화 함수, One Shot encoding, 비용 함수 Categorical Cross-entropy를 사용해야 합니다. 활성화 함수: SoftMax Label Encoding과 One Shot Encoding 비용 함수: categorical_crossentropy SoftMax 활성화 함수 Sigmoid 활성화 함수가 Binary Classification에서 사용한다면, Softma.. 2021. 8. 15.
Python 2.x에서 3.x으로 코드 자동 변환: 2to3 와 __future__ 사용 Python 코드를 다루다 보면 기존 Python 2.x 에서 개발된 오픈 소스를 Python 3.x으로 migration 해야 하는 경우가 종종 있습니다. 이 경우 코드 한 줄씩 변경하는 것보다 일괄로 변경해주는 Tool을 활용하는 것이 편리합니다. Python에서는 2to3로 변화는 tool을 제공합니다. 이는 lib2to3 기반으로 사용하고 있고, Python3과 100% 호환성 있는 코드까지는 아니지만 많은 수 작업 부분을 줄일 수는 방법을 설명합니다. Python 2to3 설명서: Python 공식 문서 사용 결과: Python 3.x 버전과 100% 호환성이 있는 코드는 아니지만 수작업 부분을 많이 감소시킴 설치 2to3는 Python 3 설치 시 같이 설치됩니다. (참고로, 우분투에서 apt.. 2021. 8. 15.
Python plotly와 dash를 이용한 Web 기반 data visualization (sample code) Pandas dataframe이나 Numpy Data 분석 결과를 그래프로 보여줄 때 가장 많이 사용하는 Python lib는 matplotlib와 seaborn입니다. 기존보다 간편하고 Web service까지 가능한 라이브러리를 찾다가 Plotly와 Dash를 알게 되었고 사용 방법을 정리하였습니다. 일반적으로 서버단 BackEnd에서 Python이나 R로 데이터를 처리하고, 이를 Web Chart를 제공하기 위해서는 Java script으로(e.g. chart.js)로 FrontEnd를 구현해야 합니다. 즉, 개발자 측면에서는 DB 연동, Data 전처리, AI와 같은 동작은 BackEnd에서 Python으로 개발하고, FrontEnd는 Java script를 사용했어야 했어야 합니다. Plotly.. 2021. 8. 13.
초보자도 사용하기 쉬운 Youtube에서 음악 다운로드 tool: 4K Youtube to MP3 Youtube에 올라온 Music Playlist를 PC로 저장하고 싶은 경우가 있습니다. 예를 들어, Youtube에서 다운로드한 음악을 USB로 저장해서 자동차에서 듣거나, 스마튼 폰에 음악 파일을 저장해서 지하철이나 버스 이동 중에 음악을 즐기고자 하는 경우입니다. 본 포스팅에서는 초보자도 쉽게 Youtube에서 음악을 로걸 PC로 다운로드할 수 있는 4K Youtube to MP3를 소개하고자 합니다. Youtube에서 음악을 다운로드는 방법은 youtube-dl 을 활용한 다양한 다운로드 Tool이 있습니다. 다운로드하는 MP3 파일에 Artist 앨범이나, 저작자나 장르와 같은 Meta data를 포함시키려면 몇 가지 명령어 옵션을 추가해야 하기 때문에 명령어 프로그램에 익숙하지 않은 분들께는.. 2021. 8. 13.
Instagram 게시물의 사진 및 동영상 다운로드 프로그램: 4K Stogram 4K Download 관련한 제품을 소개하는 3번째 포스팅입니다. 앞에서 포스팅한 4K Download와 4K Youtube to MP3은 Youtube.com와 같은 스트리밍 사이트에서 동영상과 음악을 다운로드하는 프로그램입니다. 비록 무료 버전에서는 다운로드 개수 제한이 일부 있지만, 초보자도 쉽게 프로그램을 사용할 수 있는 직관적인 UI를 제공과 함께 안정적으로 동영상과 음악 파일을 다운로드할 수 있습니다. [개발환경/Tips] - 초보자도 사용하기 쉬운 Youtube에서 음악 다운로드 tool: 4K Youtube to MP3 [개발환경/Tips] - 초보자도 쉽게 사용할 수 있는 Youtube 동영상/음악 다운로드 Tool: 4K Video Downloader 이번에서 소개할 내용은 Intagr.. 2021. 8. 13.
Python Keras를 이용한 로직스틱 회귀 분석(logistics regression) 예제- Wine Quality 분석(Sample code) 아래 이전 포스팅에서 Logistics regression에 대한 개념과 Keras 예제를 확인하였습니다. 본 포스팅에서 다수의 독립 변수(X)와 단일의 종속 변수(Y)인 Wine Quality 예제를 설명하도록 하겠습니다. [SW 개발/Data 분석 (RDB, NoSQL, Dataframe)] - Python Keras를 이용한 Logistic Regression 방법 및 개념 설명 (Sample code) Wine Quality 예제의 데이터 구성 Wine Quality 예제의 출처는 링크입니다. Red Wine과 White Wine의 12개 항목(산도, 등급, 맛)을 49K 샘플을 측정한 데이터입니다. 원본 파일에서 Red Wine과 White Wine 데이터를 하나의 파일로 합치고, 마지막 col.. 2021. 8. 6.
Python Keras를 이용한 Logistic Regression 방법 및 개념 설명 (Sample code) Logistic regression은 독립 변수의 선형 결합을 이용하여 사건의 발생 가능성을 예측하는데 사용되는 통계 기법입니다. 일반적인 선형회귀와 차이점은 종속 변수가 특정 분류로 나뉘는 특징이 있고, 결과가 1 또는 0으로 제한되는 이전 분류 (Binary Classification)입니다. Logistic regression에서의 각 독립 변수의 계수를 log-odds를 구한된 Sigmoid함수를 적용하여 실제 데이터가 해당 class에서 속할 확률을 계산합니다. 즉, Logistics regression에서의 가설(Hypothesis)은 Sigmoid function입니다. Loss(손실, 오차)는 예측 모델이 실제의 값을 얼마나 잘 표현하는지 나타내는 함수로 binary_crossentropy.. 2021. 8. 1.
Python Keras를 이용한 다중회귀(Multiple regression) 예측 (Sample code) 앞서 설명한 선형 회귀(Linear Regression)는 다중회귀(Multiple Regression) 분석은 독립 변수가 2개 이상의 회귀 모형을 분석 대상으로 삼고 있습니다. 이를 그림으로 표현하면 아래와 같습니다. Y= aX+b 모델에서 독립변수 X의 개수가 증가하고, 이를 Table로 표현하면 독립 변수의 Column의 개수가 증가하는 것입니다. Keras에서 선형회귀 분석에 대한 설명은 아래 포스팅을 확인 부탁드립니다. 본 포스팅에서는 선형 회귀에서 다중회귀에서 변경해야 하는 부분을 설명하고자 합니다. [SW 개발/Data 분석 (RDB, NoSQL, Dataframe)] - Python Keras를 이용한 Linear regression 예측 (Sample code) 다중회귀에서 변경해야 하.. 2021. 8. 1.
Python Keras를 이용한 Linear regression 예측 (Sample code) Python Keras는 Tensorflow, CNTK 등의 Deep Learning Library를 기반으로 보다 쉽게 인공지능 모델을 구성할 수 있는 Library입니다. Tensorflow 2.0으로 오면서 Keras는 Tensorflow의 핵심 부분으로 자리를 잡았고, 사실상 Tensorflow를 사용하기 위해서는 Keras를 사용해야 합니다. Keras의 code 자체의 양은 많지 않지만, machine learning 알고리즘에 대한 이해가 필요합니다. 이론적인 내용보다는 Keras code를 잘 활용하기 위한 샘플 코드 위주로 설명할 예정입니다. 1. Keras 설치와 모듈 import 이전 버전에서는 Keras를 설치하더라도 Backend의 Tensorflow 설치가 필요했지만, 현재 Te.. 2021. 8. 1.
Python Dataframe Visualization: matplotlib로 chart 그리기 (sample code) Python visualization lib 중 가장 많이 사용하고 유명한 패키지는 Matplotlib입니다. Matplotlib는 numpy, pandas dataframe과 호환 잘되며 다양한 종류의 데이터와 그래프를 쉽게 구현할 수 있습니다. Matplotlib를 기반으로 보다 쉽게 구현할 수 있거나, 다양한 옵션을 제공하는 seaborn과 같은 lib도 매우 유용하게 사용할 수 있습니다. matplotlib Sample code 얻는 법 Matplotlib Gallery 사이트에서 matplotlib로 구현하고자 하는 Graph 먼저 선택합니다. Bar, Line, Stacked plot, Scatter 2D/3D, 등 많은 종류의 그래프를 지원하고 있습니다. 그중에서 구현하고자 하는 그래프를 선.. 2021. 7. 28.
Random Number를 가지는 Pandas Dataframe 생성 (좋은 code와 나쁜 code 비교) Pandas Dataframe은 보통 df.read_csv() 함수로 CSV 파일을 읽어 dataframe을 생성하지만, 성능 테스트 목적으로 random number를 가지는 dataframe 생성해야 하는 경우가 아래와 같이 가끔 있습니다. [SW 개발/Data 분석 (RDB, NoSQL, Dataframe)] - Pandas Dataframe 처리 속도 향상을 위한 병렬 처리 방법: Swifter 모듈 (사용법 쉬움)) Random number 생성은 Numpy random 또는 Built 모듈인 random 모듈 모두 사용 가능합니다. 구현 방법에 따라서 Dataframe의 생성 속도 차이는 상당히 발생합니다. 테스트 결과 10,000,000개 사이즈의 실행 속도를 비교하는 성능이 빠른 code는.. 2021. 7. 27.
Pandas Dataframe 처리 속도 향상을 위한 병렬 처리 방법: Swifter 모듈 (사용법 쉬움) Python Panadas의 Dataframe는 기본적으로 각각의 row 또는 column을 순차(squencial) 처리합니다. 데이터의 크기가 증가하면 처리 속도는 기하급수적으로 저하가 있으며, 이는 병렬 처리를 통해서 처리 속도를 향상시킬 수 있습니다. Python 병렬 처리를 지원하는 다양한 라이브러리가 있으며(참고 링크), 본 포스팅에서는 Pandas Dataframe에 특화된 Swifter 모듈 사용법과 테스트 결과를 설명합니다. Swifter 설치 Swifter는 Python package 매니저인 PyPI로 설치할 수 있습니다. Swifter 설치 시 dask, bleach 등 관련 모듈도 같이 설치됩니다. $ sudo pip3 install swifter Swifter 사용법 Swifte.. 2021. 7. 26.
Pandas Dataframe Groupby() 함수로 그룹별 연산하기: Split, Apply, Combine Pandas DataFrame에서 가장 많이 사용하는 Groupy 사용법을 설명하도록 하겠습니다. SQL 개발 경험을 가지고 있는 분이라면 GROUPBY를 높은 빈도로 사용했을 것입니다. Groupby 동작 방식은 Pandas 공식 사이트(링크)에 자세히 설명되어 있습니다. Groupby()는 ① 전체 데이터를 그룹별로 분할(split)하고, ② mean(), sum(), count()와 같은 Aggregate function을 사용하여 연산(apply)하고, 연산 결과를 ③ 다시 합치는(combine) 과정을 거치게 됩니다. Splitting the data into groups based on some criteria. Applying a function to each group independent.. 2021. 7. 25.
Python Pandas로 Excel과 CSV 파일 입출력 방법 Pandas에서는 다양한 파일 입력을 지원하고 있습니다. 현재 Pandas는 버전 V1.3.0이며, 현 버전 기준으로 Pickling, Flat file, Clipboard, Excel, JSON, Html, Laxtex, HDF, SAS, SPASS, SQL, Google BigQuery, STATA의 파일 포맷을 지원하고 있으며, 이 중에서 일반적으로 가장 많이 사용하고 있는 Excel과 CSV 파일을 읽고 쓰는 방법을 설명합니다. Pandas로 Excel 파일 읽기: Local File과 Http URL도 지원함 Pandas에서 Excel 파일을 읽기 위해서는 Excel Reader를 설치해야 합니다. Pandas에서 기본적으로 xlrd를 사용하고 있으며 xls포맷만 지원합니다. 만일 xlsx인 엑.. 2021. 7. 21.
Python 정규식(Regular Expression) re 모듈 사용법 및 예제 정규식 표현식(Regular Expression)은 문자열을 처리하는 방법 중 하나로 "특정 조건 또는 패턴"을 치환하는 과정을 쉽게 처리할 수 있는 방법입니다. Python에서 정규식 처리 모듈은 re 로, re 모듈에 대한 사용법과 예제를 설명하도록 하겠습니다. 정규식 re import re를 사용하기 위해서는 import re를 선언하고, re 내부 함수와 pattern을 정의하여 호출합니다. import re 정규식 re 함수 Python에서 re 모듈에 대한 설명은 링크에 있고, 주요 함수는 다음과 같습니다. re 함수 설명 사용 예 re.compile(pattern, flags=0) 정규식 객체로 compile함 정규식 객체는 match()와 search()에 사용 prog = re.compi.. 2021. 7. 19.
Python KoNLPy와 WordCloud를 활용하여 WordCloud 생성하기 (Sample code 포함) WordCloud는 텍스트 기반의 문서에서 키워드, 단어, 자주 사용하는 단어를 추출하여 핵심 내용을 직관적으로 파악할 수 있도록 그래픽으로 가시화하는 방법입니다. Python으로 WordCloud를 생성하기 위해서는 아래와 같은 3가지 단계가 필요합니다. KoNLPy와 nltk lib를 사용해서 문서에서 각각의 형태소(≒ 주로 명사인 단어)로 추출 Collection Counter() 모듈을 사용해서 명사가 언급된 횟수를 계산 WordCloud Lib를 사용하여 형태소(단어) 빈도에 따른 WordCloud 이미지 생성 및 저장 한국어 형태소 분석 KoNLPy (Korean NLP in Python) 한국어 자연어 처리 Python 오픈소스인 KoNLPy를 사용합니다. KoNLPy의 소스 코드와 홈 페이.. 2021. 7. 19.
네이버 동영상 다운로드 방법 (동영상과 설명 포함) 네이버 블로그에 올린 동영상을 다운로드하는 방법입니다. 지식인에 올라온 내용을 답하다가 글로 설명하기 어려워 제 블로그에 정리합니다. 초기 포스팅 이후에 블로그에 올라온 Q&A를 정리하다 보니 여러 방법을 같이 설명하여 다소 내용이 길어졌습니다. 다운로드가 느리지만, 가장 간단한 방법은 "4.2. Chrome 확장 프로그램 - Stream recorder로 다운로드"설명한 방법이니 참고하세요. (일부 사이트와 Chrome 버전 조합에서 막힘). 아래 동영상은 크롬 브라우저로 네이버 블로그에서 MP4 동영상 URL을 확인하고 다운로드 과정을 보여 줍니다. 네이버 지식인 문의 내용: (중략) 네이버 블로그 동영상을 다운로드하고 싶은데 어떻게 하는지 모르겠어요 (중략) 이 영상은 주소를 딸 수가 없네요ㅠ 네이.. 2021. 7. 19.
Python: JSON 개념과 json 모듈 사용법 Python JSON 사용 방법에 대해서 정리하고자 합니다. JSON은 Key-value를 양식을 가지는 텍스트 파일로 인터넷 상의 서버-클라이언트의 데이터 교환에 많이 사용되고 있습니다. 최근에서는 Web 서버와 client간의 통신 및 프로그램과 프로그램 사이의 데이터 표현 및 교환하는데 사용되는 사실 상의 표준입니다. Python에서는 json 모듈을 지원하고 있으면 인코딩/디코딩을 지원하고 있고, JSON 데이터와 Python 데이터는 1:1로 맵핑되어 사용하기 쉽니다. Python JSON 공식 문서는 여기를 참고해주세요. 1. JSON 이란 JSON 에 설명 및 예제를 참고해주세요. (출처: 위키백과) JSON(JavaScript Object Notation)은 속성-값 쌍(attribute–.. 2021. 7. 16.
Python으로 개행 문자(\n)가 포함된 JSON 읽기: JSONDecodeError 수정하기 Python json 모듈에서 개행 문자 "\r\n" 또는 " \n" 포함된 string을 json.loads() 함수로 dictionary로 객체로 변환할 때 발생하는 에러입니다. 개행 문자가 포함된 경우 json.loads() 함수 호출 시 "JSONDecodeError():Invalid control character" 에러가 발생하며 수정 방법은 ① json.loads() 호출 시 strict=True 값으로 전달하는 방법과 ② 원본 스트링에서 문구를 치환하는 방법 2가지가 있습니다. 에러 발생 예제 import json json_str = """{ "이름": "홍길동", "나이": 25, "문장": "첫 줄 문장 \n 두 번째 문장" }""" jdata_obj = json.loads(json_s.. 2021. 7. 14.
Apple App Store 사용자 댓글(리뷰) 데이터 수집하기 (Sample code 포함) 이전 포스팅 (https://kibua20.tistory.com/192)에서는 Python Selenium과 BeatifulSoup을 사용해서 Google Play Store에서 App에 대한 사용자, 작성일, 좋아요, 리뷰 내용의 데이터를 크롤링하는 방법에 대해서 설명했습니다. Apple App Store에서는 사용자 리뷰 정보를 웹 페이지와 RSS Feed로 제공하고 있으며, 이를 수집하는 방법을 설명합니다. Apple App 앱 스트에서 사용자 리뷰는 아래 그림과 같이 사용자 리뷰 내용을 제공하고 있습니다. 아래 사이트를 Selenium을 사용해서 크롤링도 가능하지만, RSS Feed가 보다 정형적인 데이터를 제공하고 구현이 쉽게 때문에 RSS Feed를 사용합니다. 예를 들어 Youtube의 RS.. 2021. 7. 14.
Python Selenium과 BeautifulSoup을 활용하여 Google PlayStore 사용자 리뷰 (댓글) 가져오기 (Sample Code 포함) 데이터 수집 목적으로 웹 크롤러를 사용해서 인터넷 사이트에 공개된 정보를 모아 CSV (Comman Seprated Values) 파일로 저장하는 경우가 많습니다. 예를 들어, 구글이나 네이버에서 주식 종목별 주가, 인터넷 댓글, 날씨 정보, 부동산 정보를 Crawler를 통해서 데이터를 수집하여 CSV 로 저장하고, 이를 인공지능이나 Machine Learning의 입력 데이터로 활용할 수 있습니다. 각 인터넷 사이트에서 Open API를 제공하면 API를 통해서 데이터를 수집하지만, 그렇지 않는 경우 어쩔 수 없이 크롤러를 사용해서 데이터를 수집해야 합니다. 본 포스팅은 Google Play의 사용자 리뷰 정보를 모아서 CSV 파일로 저장하는 방법을 설명하고자 합니다. 각 앱의 Playstore 리뷰.. 2021. 7. 14.
카카오 TV 1080p 동영상 다운로드: MPEG DASH의 MPD 활용 카카오 Tv에서는 MPEG Dash를 사용해서 동영상 스트리밍 서비스를 지원하고 있습니다. MPEG Dash는 HTTP를 통한 동적 적응 스트리밍을 위한 표준으로 Dynamic Adaptive Streaming over HTTP (DASH)의 약자이며 ISO 표준(ISO/IEC 23009-1)으로 된 HTTP Adaptive Streaming의 한 종류입니다. 다양한 Http Adaptive streaming에 대한 설명을 링크를 참조해주세요. 동영상을 다운로드하는 방법에는 여러 가지 방법이 있으면 관련된 내용은 다음과 같습니다. [개발환경/Tips] - Youtube 다운로드 방법 (광고 없는 오픈 소스 기반 tool 사용) [개발환경/Tips] - 네이버 동영상 다운로드 방법 (동영상과 설명 포함) .. 2021. 6. 26.
Panda Dataframe 날짜 기준으로 데이터 조회 및 처리하기 Dataframe 날짜 기준으로 데이터 조회 데이터 분석 시 일정 시간에 저장된 시계열 데이터를 처리하거나, 특정 기간 (예를 들어, 최근 한 달 또는 두 달간) 데이터를 기준으로 통계치를 산출하고자 할 때 날짜 기준으로 데이터를 필터링하고 처리하는 것이 필요합니다. Pandas Dataframe에서는 아래와 같이 다양한 방법으로 날짜 기준의 데이터 행의 선택 가능합니다. 직관적으로로 이해가 쉬운 것은 isin() 함수와 between() 함수이고, 다양한 조건의 데이터 (예를 들어, 매주 월요일, 매주 1일 기준, 일주일 기간)를 얻어오는 함수는 query()가 적절합니다. pandas.DataFrame.isin()은 두 날짜 사이에서DataFrame 행을 선택 pandas.Series.between(.. 2021. 6. 20.
Pandas Dataframe 여러 열과 행에 apply() 함수 적용 (Sample code 포함) Padas Dataframe apply() 함수 사용법 Panda dataframe을 엑셀의 매크로 함수처럼 각 열에 대한 연산을 하는 방법입니다. Pandas의 apply()를 사용하고 이는 가장 많이 사용하고 강력한 기능입니다. 각 항목을 요약하면 아래와 같습니다. 본 포스팅에서 설명한 내용은 Github에 test code를 올렸놨습니다. 기존의 Column 값을 연산하여 신규 Column을 추가하는 경우: df.apply(func, axis =1) axis=0은 row이고, axis=1은 column입니다. Row 값을 추가하는 경우에는 df.loc[] = df.apply(func, axis =0)으로 추가합니다. Column과 Row은 바꾸는 경우 df.transpose() 함수를 사용합니다. .. 2021. 6. 20.
Dataframe(또는 Numpy)를 JSON 출력 시 에러: TypeError: Object of type int64 is not JSON serializable Pandas dataframe 또는 Numpy를 사용해서 JSON으로 출력하는 경우 발생하는 에러입니다. Pandas dataframe의 value list는 numpy를 사용하고 있고, Numpy의 data type은 Python에서 정의하고 있는 data type보다 많기 때문에 표준 Python data type만 처리하는 Json encoder에서 에러가 발생합니다. 이러한 문제점을 수정하기 위해서 custom json encoder를 정의하거나, numpyencoder를 설치해서 사용할 수 있습니다. Custome Json encoder 코드는 GitHub 링크를 확인해주세요. 에러 메시지: File "dataframe_to_json_test.py", line 22, in test print (.. 2021. 6. 20.
자주 사용하는 curl 명령어 옵션과 예제 curl은 오픈 소스로 개발되어 윈도우와 리눅스에 기본 설치되고 있는 웹 개발 툴로써 http, https, ftp, sftps, smtp, telnet 등의 다양한 프로토콜과 Proxy, Header, Cookie 등의 세부 옵션까지 쉽게 설정할 수 있습니다. 이러한 장점 때문에 Client를 코딩을 시작하기 전에 curl 명령어로 서버 동작을 먼저 확인함으로써 좀 더 빠르게 개발을 진행할 수 있습니다. 본 포스팅은 curl 옵션 중 자주 사용하는 옵션 위주로 예제와 설명을 정리하였습니다. 연속된 URL 로 요청하고 결과 파일로 지정하기 네이버나 카카오의 HLS 동영상을 다운로드할 때 연속된 URL을 하나의 명령어로 처리할 수 도 있습니다. $ curl "https://example_url/[00000.. 2021. 6. 13.