Data Analysis120 [R] DAUM 영화 평점을 가져와서 분석하기 - 2 2016/02/23 - [Data Analysis/R] - [R] Daum 영화 평점을 가져와서 분석하기 - 1 구조가 파악이 됐으면 구조에 따라 필요한 정보를 가져와 추출한다. 그림에서와같이 Comment의 경우 밑에 있는데 이 경우 rvest의 html_node()를 활용하여 해당 부분을 추출할 수 있다. html_node('span.comment') 이를 이용하여 다음과 같이 스크립트를 구성할 수 있다. library(rvest) reviews 2016. 2. 23. [R] Daum 영화 평점을 가져와서 분석하기 - 1 스크랩핑? 크로울링? 용어가 다소 생소하지만 웹상의 데이터를 가져오는 것을 스크래핑이라고 하는 것 같습니다. 정확한 용어는 찾아보고 다음에 정리해야지. 여튼 분석용 데이터를 구하기 위해서 웹상의 데이터를 많이 이용하는데 그중에 텍스트 데이터를 수집하기 위해서는 스크랩핑만한게 없는 것 같습니다. 보통 python을 이용을 많이 하는 것 같은데 본인은 R로 공부도 할겸 정리를 해봤습니다. 이용한 package는 rvest를 사용하여 Daum 영화 평점 및 Comment를 가져왔습니다. 웹상 데이터를 가져오기 위해서 해당 웹페이지에 대해 분석이 필요합니다. 먼저 현재 Daum 영화 평점 순위 페이지로 이동해 보면 다음과 같이 확인이 가능합니다. ==> 이동 여기서 녹색 부분의 평점과 코멘트가 필요한데 위의 부.. 2016. 2. 23. [R] R 배치 프로그램 이것도 내가 찾고 싶을 때 찾아보게 기록해두는 간단한 팁. R을 이용해서 분석을 수행하고 알고리즘이 확정되면 배치를 통해 주기적으로 수행이 필요한데 보통 bat 파일을 생성한 후 이것을 윈도우 Job Scheduler에 등록하여 운영한다. (다른 사람들은 어찌할려나 'ㅅ'); 일단 간단한 R 코드는 다음과 같다. # configuration root.directory 2016. 1. 7. Python : Data Handling(수정) R이야 워낙 많이 써서 익숙한데 Python은 아직 익숙치가 않아서 매번 쓸때마다 찾아봐야하네. 공부겸 정리를 틈틈히 할 필요가 있다. R에서는 Data.table과 같은 훌륭한 패키지가 있는 것처럼 Python도 pandas가 있다. 나름 고감자님 블로그에서 R로 분석하던 것을 Python으로 조금씩 해볼까 한다. import pandas as pd df = pd.read_csv('C:/temp/titanic.csv') print df.head() df['isminor'] = 'adult' df.loc[df.age < 15, 'isminor'] = 'child' # 과연 이렇게 복잡하게 써야하는 것인가... 공부가 필요하네 그려 df.loc[df.survived == 1,('pclass','surviv.. 2015. 12. 10. R : Data.table 공부 R에서 여러 유용한 패키지가 많은데 Data.table을 단연코 최고가 아닐까 생각한다. 다만 기존 Data.frame과 달리 유용한 반면 사용법이 달라서 매번 까먹거나 헷갈리네... 조금 공부도 할경 정리도 할겸 포스트를 써보았다. 조금씩 추가하면서 정리해야겠다. library(data.table) # Data load dt 150 & Ozone < 20 ] dt[Ozone %between% c(11,14)] dt[test == "None"] dt[test %like% "^N"] dt[test %chin% "None"] # Join DT = data.table(x=rep(c("a","b","c"),each=3), y=c(1,3,6), v=1:9) setkey(DT, x) X = data.table(c(.. 2015. 12. 6. [Python] jdbc로 Database(Oracle) 접근하기 데이터 분석을 하다보면 당연히 다양한 데이터 소스에 접근하게됩니다. 파일, 엑셀, 그리고 데이터베이스 까지... 이번에는 JDBC 로 데이터를 가져온 후 하여 pandas의 Dataframe로 변경해보았습니다. import os import sys import jpype import jaydebeapi as jp import pandas.io.sql as pd_sql from pandas import DataFrame # JAVA_HOME이 설정되어 있지 않을 경우 if("JAVA_HOME" not in os.environ): os.environ["JAVA_HOME"] = "[JAVA_HOME path]" # oracle jdbc 파일 경로 및 class 경로 설정 JDBC_Driver = '[jdbc .. 2015. 12. 3. Python : 다중 회귀 분석 심심해서 해보는 틈틈이 Python으로 하는 통계 분석을 정리해볼까 한다. 첫번째는 다중회귀분석을 아래와 같이 수행했다. 데이터는 아래의 주소를 참조했다. http://college.cengage.com/mathematics/brase/understandable_statistics/7e/students/datasets/mlr/frames/frame.html Data for multiple linear regression college.cengage.com import pandas as pd import statsmodels.formula.api as sm from statsmodels.sandbox.regression.predstd import wls_prediction_std # csv 파일을 가져옴 .. 2015. 12. 2. Python : Numpy Intall 하기 삽질삽질... 프로젝트도 끝나서 이제 다시 공부 할려고 하는데 이것저것 다시 셋팅하다보니 Numpy가 필요하네. 설치법 까먹음.... ㅠㅠ Spark의 pyspark에서도 쓸 일이 있고 해서 다시 정리합니다 실행 경로는 [Python 설치폴더]\Lib\site-packages 입니다. 첫번째는 아래와 같이 간단하게 설치 가능 python pip install numpy 두번째는 해당 패키지를 다운 받은 후에 설치(Download 주소 : http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy) 본인은 위의 방법이 안되서 이 방법으로 설치 했다. python pip install numpy-1.9.3+mkl-cp27-none-win32.whl 참고로 python packag.. 2015. 11. 2. Spotfire & Python : 특정일자를 Input Field에 설정하기 Spotfire에서는 Text Area를 활용해서 다양한 필터를 생성하여 조회 조건으로 사용할 수 있다. Input Field를 사용해서 특정 값을 입력 받을 수 있는데 예를 들면 날짜 같은 것을 말한다. 다만 아쉽지만 Default 값을 설정할 수 가 없으므로 가끔 버튼을 통해 특정일자를 입력하도록 할 수 있다. (물론 Trick을 이용하면 Default값을 줄 수 도 있다) import datetime from datetime import timedelta today = datetime.datetime.now() # 월 이동 계산 함수 def addMonth(date, num): return datetime.datetime(date.year + ((date.month + num)/12), (date... 2015. 8. 30. Spotfire & Python : 특정값이 일치할 때 해당 행의 다른 값을 가져오기 아따 제목 어렵다. Join할 수도 없고 Relation을 할수도 없는데 주어진 특정값에 일치하는 행이 있다면 그 행의 특정 값을 가져오는 예제. 스샷은 귀찮아서 소스만 올립네다. from Spotfire.Dxp.Data import * table = Document.Data.Tables["Baseball"] keyColumn = table.Columns["팀명"] tarColumn = table.Columns["선수명"] result = "" for i in range(0, table.RowCount): if keyColumn.RowValues.GetValue(i).ValidValue == Document.Properties["test"]: if result == "": result = tarColum.. 2015. 8. 20. 이전 1 ··· 5 6 7 8 9 10 11 12 다음