본문 바로가기

데이터분석

(12)
pandas map 함수와 정규표현식을 이용한 텍스트 전처리 pandas 의 map 함수를 이용하여 텍스트 전처리를 해보겠습니다. 보통 텍스트 데이터를 가져와서 정제할 때, 정규표현식을 이용해서 정제를 하는데요. 도메인 방향에 맞춰서 정제를 해야겠지만, 이번에는 자음,모음,html 태그, 특수기호를 제거해보겠습니다. 그럼 데이터를 가져와서 바로 해보겠습니다. 예전에 크롤링한 제품 리뷰 데이터를 그대로 쓰겠습니다. 중간에 dropna 하고 해서 12584 개의 리뷰가 있습니다. 10개 정도만 보겠습니다. ㅠㅠ 라든지 !! ~~ 같은 특수기호들이 눈에 보입니다. map 함수에 적용할 클리어링 함수는 아래와 같습니다. # cleasing 함수 def cleasing(text): repl ='' pattern = '([ㄱ-ㅎㅏ-ㅣ]+)' # 자음, 모음 제거 text =..
pandas dataframe csv file to txt (feat.corpus 만들기) 간단한 팁을 정리해보려고 합니다. 텍스트 데이터를 정제하다 보면 corpus 를 만들어야 하는데요. 이 때, 보통 txt 포맷으로 만드는 걸로 알고 있습니다. 크롤링을 할 때, txt 나 csv 파일 둘 다 해놓아도 어떤 api 에서는 csv 파일을 pandas로 읽어서 작업하는 게 편할 때가 있고, 어떤 api 에서는 txt 파일로 input 해줘야 하는 경우들이 종종 있습니다. 그래서 이번 시간에는 pandas 의 dataframe 중에 특정 Series 컬럼을 txt 로 바꾸는 걸 정리해보려 합니다. 대단한 건 아니지만 이게 간간히 필요할 때가 있습니다. { 저의 경우에는 말이죠 :) } 저의 경우에는 sentencepiece 로 vocab 을 생성하거나 scikit-learn 에 특정 벡터를 만들..
공공데이터 '아파트 분양가격' 동향 파악하기 - final 2015년 8월 이전 데이터를 보겠습니다. 중간에 ... 으로 생략된 게 보이는데요. pd.options.display.max_columns 로 컬럼이 다 보이게 설정했습니다. 위 데이터 프레임은 컬럼이 100개는 아니지만 일단 최대치를 df_first 데잍프레임 컬럼보다 많이 늘려놓았기에 모든 컬럼이 이제 보입니다. 최근 데이터 프레임과 예전 데이터 프레임(df_first) 의 양식이 많이 다릅니다. df_first를 최근 데이터 프레임 양식에 맞춰서 합쳐주겠습니다. df_first 데이터를 살펴보겠습니다. 컬럼 데이터들을 melt 시키겠습니다. 기존 컬럼을 행으로 녹여내는게 melt 입니다. melt 시킨 데이터를 다른 이름으로 할당하고 컬럼명 df_lasf 데이터프레임과 맞췄습니다. 연도,월 분리 ..
공공데이터 '아파트 분양가격' 동향 파악하기 - 2단계 지난 시간에 했던 공공데이터 분석의 2단계입니다. 시각화 작업을 할겁니다. 우선, 시각화 작업하기 전에 pandas, seaborn 위주로 시작화를 하긴할겁니다. 헌데, 이 때 알아두셔야 하는 것은 그래프를 여러 가지 형태로 그린다는 데 초점을 맞추면 좋을 것 같습니다. 세부적인 그래프의 모든 옵션은 일일히 직접 입력해보면서 그래프의 변화를 관찰하면서 만드는 게 좋다고 생각합니다. 만약, 보고서 또는 공모전 용도로 한다면 디자인에 대한 생각을 해야겠지만 이 프로젝트 개인적인 토이 프로젝트 느낌이며 공부하는 용도이기에 조금은 라이트하게 하려고 합니다. 또, 그래프 쓸 때마다 매번 시프트,탭을 눌러서 한 번 확인하고 하는 것이 좋습니다. 기본적으로 x y 축에 데이터프레임의 컬럼을 타입에 맞게 넣고, hue..
pandas 로 공분산과 상관관계 이해하기 상관분석은 변수들 간의 연관성을 분석하는 방법입니다. 상관관계는 두 개의 변수를 기준으로 양의 방향과 음의 방향으로 일정한 규칙이 나타나는 '선형'관계의 형태와 연관 정도를 수치로 나타냅니다. 키와 몸무게 관계, 광고비와 매출액 관계 등이 그 예에 해당됩니다. 상관관계에 대해 이해할 때는 산포도를 이해할 필요가 있습니다. 판다스로 아이리스 데이터를 산점도로 그려보면 위와 같이 나옵니다. 산포도 개념을 머리 속에 넣으셨다면, 잠시 상관계수에 대해 이야기 해보겠습니다. 공분산은 두 개의 확률변수에 대한 흩어짐의 정도가 동일한 방향인 양의 방향인지 음의 방향인지를 나타내는 수치입니다. 두 변수가 서로 변하는 정도를 수치로 나타낸 것입니다. 그런데 두 변수 간의 단위에 다르기 때문에 변동 크기량이 모호해집니다...
pandas series dataframe 이번 시간에는 pandas 데이터의 시리즈와 데이터프레임에 대해 알아보겠습니다. pandas가 NumPy의 스타일을 많이 차용했지만 가장 큰 차이점은 pandas 는 표 형식의 데이터나 다양한 형태의 데이터를 다루는 데 초점을 맞춰 설계했다는 것입니다. NumPy는 단일 산술배열 데이터를 다루는 데 특화되어 있습니다. 1) Series - 일련의 객체를 담을 수 있는 1차원 배열 같은 자료구조입니다. - 색인(index)라고 하는 배열의 데이터와 연관된 이름을 가지고 있습니다. Series 객체의 문자열 표현은 왼쪽에 색인을 보여주고 오른쪽에 해당 색인의 값을 보여줍니다. 위 샘플에서는 데이터의 색인을 지정하지 않았기에 기본 색인인 정수 0에서 N - 1 (N은 데이터의 길이)까지 숫자가 표시됩니다. S..
공공데이터 '아파트 분양가격' 동향 파악하기 - 1단계 이번시간에는 공공데이터에 있는 아파트 분양가격 데이터셋으로 분석을 해보는 포스팅을 해보겠습니다. 인프런 '공공데이터로 파이썬 데이터 분석 시작하기' 강의를 따라하면서 정리하는 영상입니다. 강의를 찍은 시점이 2018년 11월이었는데, 2020년 3월 초, 이 파트 강의가 리뉴얼되었습니다. 강의가 최신 데이터로 업데이트되어서 다시 진행하였고, 좀 더 디테일한 방식으로 바뀌었습니다. 참고해주세요 :) 먼저, 데이터셋은 https://www.data.go.kr/dataset/3035522/fileData.do 공공데이터포털 국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Dat..
pandas dataframe 문자열 칼럼 숫자형(int,float)으로 변환 pandas Dataframe 에서 문자열 칼럼을 숫자형으로 바꿔야할 때가 종종 있습니다. 그 때 쓰는 메서드는 보통 pd.to_numeric() dataframe.astype() 이렇게 2가지가 있습니다. 하나하나 살펴보겠습니다. 1) to_numeric() 시리즈 데이터를 하나 만들었습니다. 여기에 pd.to_numeric( ) 을 하겠습니다. 시리즈 데이터로 넣었더니, 타입이 int 로 만들어진 것을 확인할 수 있습니다. 근데, 만약에 dataframe으 모든 칼럼을 숫자형으로 바꾸고 싶다면 어떨까요? 이 때는 apply 라는 메서드를 통해서 사용합니다. apply 메서드에 대해 잠깐 살펴보겠습니다. apply 메서드 안에는 커스텀함수나 기존의 메서드들을 인자로 넣어주시면 됩니다. 한 칼럼의 최대값..