판다스로 Json 불러오기 Json(JavaScript Object Notation) 은 Javascript 객체 문법을 따르는 문자 기반의 데이터이입니다. 네트워크를 통해 전송할 때 유용한 면이 많기 때문에 다양한 곳에서 쉽게 볼 수 있는 포맷입니다. 데이터를 크롤링하거나 다른 외부에서 가져올 때 Json 객체로 변환되어서 가져오는 경우가 많은데 파이썬에서 json 모듈을 이용해 json 파일을 열 수도 있지만 보기 불편합니다. 가독성을 위해 판다스에서 Json파일을 저장, 불러올 수 있습니다. pd.read_json() 함수를 사용하여 JSON 파일이나 문자열을 데이터프레임으로 변환할 수 있습니다. 아래는 JSON 데이터를 판다스 데이터프레임으로 불러오는 예시 코드입니다: JSON 파일을 데이터프레임..
Json 파일 만들기 Json은 자바스크립트의 객체 표기법으로부터 파생된 부분 집합으로 몇 가지 표기법에 의해 구조가 구성됩니다. Json 데이터는 '키 : 값' 의 딕셔너리 형태로 이루어집니다. 콜론으로 구분됩니다. 여러 '키:값'은 쉼표(,)로 데이터를 구분합니다. 객체(object)는 중괄호({})로 표현합니다. 배열(array)은 대괄호([])로 표현합니다. 예를 들어, 어떤 사람의 정보를 객체로 json으로 표현하다고 하면 다음과 같이 할 수 있습니다. { "name": "John", "age": 30, "city": "New York" } 대괄호로 둘러쌓인 값들은 주로 리스트로 표현되는데 이 배열을 쉼표로 구분해서 표현합니다. { "name": "John", "age": 30, "city": ..
파이썬으로 전자책 추출이 된다고? 파이썬으로 전자책을 읽고 쓰는 라이브러리를 소개할까 합니다. 전자책은 뷰어로 보면 되는데 굳이? 라는 생각이 들 수 있으나 이것도 데이터로 생각하면 전자책도 좋은 자원이라서 자연어 처리를 하는 용도로써 사용해보는 것도 좋을 것 같습니다. 이건 연습용입니다. 남의 저작권을 가져다가 상업용으로 쓰려면 그에 대한 저작권 협의가 있어야 함을 꼭 명심하셨으면 좋겠습니다. ebooklib epub는 일반적으로 xml이 압축된 형태로 파일의 형태를 잘 이해하고 있다면 zip을 이용해 압축해제를 해서 어찌어찌 할 수 있는데 약간 복잡합니다. 이런 걸 이미 ebooklib라는 라이브러리를 통해 할 수 있게 되었습니다. 몇 줄의 코드로 epub파일을 불러올 수 있습니다. 설치는 간단합니다..
엑셀 파일 빠르게 읽어보자 빅데이터를 다루다보면 엑셀 파일 불러올 수 밖에 없는데 데이터 자체가 크다보니 불러오는 시간이 많이 소요됩니다. 이걸 여러번 불러온다면 곤욕이 따로 없겠죠? 이전 포스팅에서 xlsx에서 csv로 변환하는 방법을 다뤘었는데 csv로 변환하고 읽는 속도가 약 70배 빨라지는 것을 알 수 있었습니다. 이번 포스팅에서는 본격적으로 불러오는 속도를 극대화하는 방법에 대해 소개할까 합니다. DASK 모듈 이용하기 방법은 생각보다 간단합니다. 데이터를 불러올 때 병렬처리를 한다면 보다 빠르게 불러올 수 있게 됩니다. 그런데 이걸 코드로 만들어내면 귀찮아지니 다 만들어진 모듈을 사용해서 간편하게 불러올 수 있을 거라 생각합니다. DASK라는 모듈을 쓸 건데요. 이 모듈은 파이썬에서 분산 병렬..
xlsx -> csv의 필요성 파이썬에서 xlsx로 작업을 하면 제약사항이 많아집니다. 가장 큰 제약은 느린 불러오기입니다. xlsx를 불러오는 것부터가 곤욕입니다. 그 이후에 판다스에서의 작업은 사실 xlsx 파일과는 무관하기 때문에 상관은 없습니다. 하지만, 계속해서 xlsx를 불러와야 하는 상황이라면 얘기가 달라집니다. 훨씬 빠른 불러오기가 가능한 csv로 변환합니다. 변환을 office를 이용하면 손쉬운데 실제로 해보면 오류도 많고 드럽게 안됩니다. 또한 office는 csv를 했다해도 office에서 원하는 방향으로 만들어지기 때문에 제약이 들어갑니다. 그래서 파이썬 내에서 xlsx를 가져와 csv로 바꿔보겠습니다. xlsx 파일 csv로 변환하기 프로세스는 간단합니다. 판다스로 xlsx 불러오..
시트만 다른데 매번 다시 불러야하나? 판다스에서 엑셀시트를 불러오는 방법으로 보통 read_excel(sheet_name = '시트이름')을 쓰게 되는데 이러면 시트를 부를 때마다 excel을 부르고서 sheet_name을 다르게 해서 엑셀파일 자체를 다시 읽게 됩니다. 즉, 시간소비가 많다는 것이죠. (이런 시간낭비...) 그래서 엑셀 파일을 객체로 만드는 방법을 알아냈습니다. 판다스 내에 엑셀 파일을 객체로 불러와서 시트만 불러내는 방식을 사용할 수 있더라고요. 이 방식을 사용하면 엑셀파일은 불러와있는 상태에서 시트만 선택적으로 꺼내쓰는 방식으로 바뀝니다. 시간도 절약하고 시트관리가 좀 더 용이해집니다. 엑셀 파일 객체로 불러오기(ExcelFile) 판다스에 ExcelFile이라는 메쏘드가 있습니다...
파이썬에서 수학함수 어떻게 쓰나? 코딩을 하다보면 수학함수가 의외로 많이 쓰입니다. 이번 포스팅은 자주 쓰는 수학함수를 math 모듈로 가져오는 방법에 대한 얘기입니다. math 모듈 math 모듈로 아주 간단하게 주요함수들을 불러올 수 있는데 누가 만들었는지 아주 기똥찹니다. 주로 자연상수 e나 삼각함수, 지수를 쓸때 유용합니다. 다른건 코드로 할 수 있기도 하지만 math모듈을 활용하면 코드량도 줄이고 간편하게 할 수 있는게 큰 장점입니다. 아나콘다나 미니콘다로 설치했다면 대부분 기본적으로 깔려 있습니다. 혹시 없다면 아래와 같이 math 모듈을 설치합니다. pip install math 주요한 수학 함수 수치계산이나 데이터 분석을 위해서는 모델링이 필수적인데 삼각함수나 지수로그함수가 적합한 모델일 ..
리스트에서 특정 문자 있는 경우 제거하는 방법입니다. 조건 걸어서 하나씩 지우면 되긴 하는데 이게 될 때가 있고 안 될 때가 있더군요. 그래서 다른 방법을 추천하는 글입니다. 보통 for문으로 제거하려고 할텐데 if 문 써서 리스트 원소의 문자열에 해당 문자가 있으면 remove를 통해 지우려고 할 겁니다. 저도 그렇게 했고요. 그래서 아래와 같이 for문으로 합니다. 그럼 그냥 안된다고 봐야 합니다. search = 'temp' for word in file_list: if search in word: print('원소 제거: ' + word) file_list.remove(word) print(file_list) 전혀 지워지지 않습니다. 그 이유는 인덱스 문제로 remove의 방식 때문인데 인덱스가 ..
이번 블로그 글에서는 파이썬에서 RSS를 가져오는 방법을 다루려고 합니다. RSS란? RSS(Rich Site Summary 또는 Really Simple Syndication)는 웹 사이트에서 발행되는 최신 정보를 구독자에게 쉽게 제공하기 위한 XML 기반의 웹 피드입니다. RSS를 이용하면 웹 사이트의 새로운 글, 뉴스, 팟캐스트 등을 매우 쉽게 받아볼 수 있습니다. 파이썬에서 파싱하는 방법 파이썬에서 RSS를 가져오는 방법은 크게 두 가지로 나눌 수 있습니다. 첫 번째는 파이썬 라이브러리를 사용하는 방법이고, 두 번째는 HTTP 요청을 통해 직접 RSS 데이터를 가져오는 방법입니다. 파이썬 라이브러리 사용하기 파이썬에서는 feedparser 라이브러리를 사용하여 RSS를 파싱할 수 있습니다. 이 라..