본문 바로가기
반응형

● 인공지능, 분석/20.12 생활 프로그래밍21

[6. 크롤링] 뉴스 제목, 뉴스 링크 추출하기 크롤링 대상은 다음과 같다. 1-1 제목을 뽑아보자 1-2 제목과 링크를 같이 뽑자 위 코드를 변형시켜서 다음처럼 제목, 링크를 뽑을 수 있다. 기타 다른 방법들 2021. 1. 18.
[6.크롤링] 기사제목 및 링크 출력 (1) 크롤링을 위한 사전작업 import os,re import urllib.request as ur from bs4 import BeautifulSoup as bs 대상은 다음 뉴스창 news = 'https://news.daum.net/' 긁어올 대상의 class명(속성값)은 item_issue soup = bs(ur.urlopen(news).read(), 'html.parser') soup.find_all('div', {"class":"item_issue"}) 반복문을 통해 출력해보자 for i in soup.find_all('div',{"class":"item_issue"}) : print(i.text) 2. 하이퍼 링크 추출하기 하이퍼 링크가 있는 a태그 5개를 출력해보자 soup.find_all('.. 2021. 1. 18.
beautifulsoup 설치하기. pypi.org/project/ipython-beautifulsoup/ ipython-beautifulsoup Custom rendering of beautifulsoup objects in IPython notebook and qtconsole pypi.org Install Simply run: pip install "ipython-beautifulsoup[bs4]" Installing IPython Notebook See the IPython installation docs for details. To install IPython notebook or qtconsole as well, append notebook and/or qtconsole to the extras specifier after “b.. 2021. 1. 15.
[5. 분석] 파이썬 데이터 분석 패키지 시작 파이썬 데이터 분석 패키지 (패키지명 : 기능 / 주요함수) numpy : 배열 계산, 반올림, 버리기 기능 / floor, ceil, power pandas : 데이터 프레임으로 데이터 입력 및 가공 / describe, groupby matplotlib : 그래프 그리기 / plot, hist, bar 기타패키지 : math, scipy(통계 분석), statsmodels(통계 모델 작성 및 분석) 등 패키지 설치하기 pip install 패키지명 pip install numpy 파이썬 이외 여러 통계 분석 도구들 SPSS : 초보자도 쉽게 사용 가능 파이썬, R : 통계에 대한 이해가 있고 여러 표를 동시 출력하고 싶다면 스크립트 기반의 이것을 사용할 것 R : 경제학자들이 애용하는 프로그램. 스크.. 2021. 1. 12.
[4. CSV] 번역 내용 저장하기 자동으로 영어 문장 번역해보자 제작할 표의 형태는 다음과 같다. 첫번째 열 : 영어문장 두번쨰 열 : 한글번역문장 우선 구글 번역기를 설치하자 1. cmd 실행 2. pip(파이썬 lib 설치를 도와주는 프로그램)를 이용하여 구글 번역기 설치 다음 명령어 입력 pip install googletrans 프로그램 작동 순서 1. 영어 번역 2. 영어, 한글번역은 별도 객체에 저장 3. 마침표로 문장 구분 후 리스트 저장 4. CSV형 리스트를 저장할 빕ㄴ 리스트 객체 형성 5. 영어문장, 한국어 문장 하나씩을 빈 리스트에 추가 6. usecsv 모듈의 writecsv 함수를 활용하여 CSV파일 제작 re.split 메서드는 파이썬 문자열의 기본 메서드인 split과 매우 유사하나, 정규식을 처리할 수 있다.. 2021. 1. 12.
[4. CSV] 부동산 실거래가 분석하기. 조건 필터링 / 별도로 저장하기 1. rtdown.molit.go.kr/ 접속 http://rtdown.molit.go.kr/ rtdown.molit.go.kr 2. 파일 다운로드 3. 위 파일을 열어보면 15행까지 메타데이터 (자료에 대한 설명)이 있기에 15행까지 행을 삭제해준다. 4. 파일명을 apt_201910.csv로 변경 5. CSV형 리스트로 만들고 자료 가공하기 import os, re, usecsv # usecsv.py 파일과 같은 위치에 존재 apt = usecsv.switch(usecsv.opencsv('apt_201910.csv')) # apt는 리스트를 품을 리스트 print(apt[:3]) print(len(apt)) ''' 64731 ''' # apt는 리스트를 품은 리스트 # 헤더 인덱스를 출력해보자 pri.. 2021. 1. 11.
[4. CSV] CSV 파일 데이터 분석하기 Numpy, Pandas로 쉽게 데이터 분석이 가능하다. 하지만 CSV형 리스트 활용법을 배우는 이유는 1. 반복문과 조건문 연습에 도움 2. 파이썬의 리스트 기능(인덱스, 슬라이싱, 원소 꺼내기_pop 등) 사용 가능 3. 논리적 사고를 하는데 도움 import os, re, usecsv total = usecsv.opencsv('popseoul.csv') newPop = usecsv.switch(total) print(newPop[:4]) ''' [['Gu', 'Korean', 'Foreigner', 'Senior'], ['Total', 9740398.0, 285529.0, 1468146.0], ['Jongrogu', 151767.0, 11093.0, 27394.0], ['Jongru', 126409.. 2021. 1. 11.
[4. CSV] try except문 활용하기 하단 코드의 한계는 뭘까? >>> p = ['123Jongrogu', '151,000', '102,305' ,'25,456'] >>> for j in i : if re.search('[a-z가-힣]',j) : # 알파벳, 한글인 경우 그대로 사용 i[i.index(j)] = j # i.index(j)는 j가 있는 인덱스 번호 else : # 알파벳, 한글이 아닌 경우, 하단 형태로 수정 i[i.index(j)] = (float(re.sub(',','',j))) >>> i ['Jongrogu', 151767.0, 11093.0, 27394.0] 바로, p 요소 중 알파벳과 한글이 아닌 요소(특수문자, 빈 문자열 등)가 있을 때, 오류가 발생한다는 것이다 이 때 예외처리를 적용하면 간단해진다. >>> i =.. 2021. 1. 11.
[4. CSV] 수정한 요소 새로 적재하기 vs 수정한 요소 덮어쓰기 1. 수정한 요소 새로 적재하기 수정한 요소를 새로 적재하기 위해 리스트 타입의 k 객체를 만든다. >>> import re >>> p = ['123Jongrogu', '151,000', '102,305' ,'25,456'] >>> k = [] # 리스트 객체 >>> for j in p : if re.search('[a-z가-힣]', j) : # j에 알파벳이나 한글이 있다면 k.append(j) # 그대로 k에 저장 else : k.append(float(re.sub(',','',j))) >>> k ['123Jongrogu', 151000.0, 102305.0, 25456.0] 2. 수정한 요소 덮어쓰기 새 객체를 선언할 필요가 없이 그대로 덮어쓰자. 이를 위해선 인덱스를 활용하면 된다. >>> p =.. 2021. 1. 11.
[4. CSV] CSV 수정하기, 쉼표제거 수정할 파일 >>> import os,re >>> os.getcwd() 'C:\\WINDOWS\\System32' >>> os.chdir(r'C:\Users\JE\Desktop') >>> import usecsv >>> total = usecsv.opencsv('popSeoul.csv') # 이파일도 동일한 위치에 존재 >>> for i in total[:5] : print(i) ['Gu', 'Korean', 'Foreigner', 'Senior'] ['Total', '9,740,398', '285,529', '1,468,146'] ['Jongrogu', '151,767', '11,093', '27,394'] ['Jongru', '126,409', '10,254', '23,025'] ['Yongsangu.. 2021. 1. 9.
튜플이란? j = 1,444,000이 튜플이 되는 이유? 튜플이란?(출처링크1, 출처링크2)튜플(tuple)은 몇 가지 점을 제외하곤 리스트와 거의 비슷하며 리스트와 다른 점은 다음과 같다.리스트는 [ ]으로 둘러싸지만 튜플은 ( )으로 둘러싼다.리스트는 그 값의 생성, 삭제, 수정이 가능하지만 튜플은 요솟값은 한 번 정하면 지우거나 변경할 수 없다튜플은 값을 변화시킬 수 없다는 점만 제외하면 리스트와 완전히 동일 (인덱싱[1], 슬라이싱[1:], 길이len, 연산) 튜플의 형태# 빈 튜플을 제외하고 괄호를 쓰지 않아도 된다. >>> t1 = () # 빈 튜플은 괄호 >>> t2 = (1,) # 원소가 하나라면 원소, 로 표시 >>> t3 = (1, 2, 3) >>> t4 = 1, 2, 3 >>> t5 = ('a', 'b', ('ab', 'cd'))튜플의 특징.. 2021. 1. 7.
[4.csv] 엘리스 강의 academy.elice.io/courses/5455/lectures/36708 엘리스 :: elice 기업, 대학, 초중고교 단체 코딩교육, 엘리스와 함께! 무료 이벤트중! 디지털 트랜스포메이션(DT), 데이터 사이언스 기업 코딩 교육 전문 엘리스! elice.io 139 data.seoul.go.kr/dataList/419/S/2/datasetView.do 서울시 주민등록인구 (구별) 통계 데이터 이용하기-서울시 주민등록인구 (구별) 통계 data.seoul.go.kr do it 파이썬 생활프로그래밍 실습 파일 목록 github.com/skytreesea/do-it-python skytreesea/do-it-python Methods and classes in the book, "do i.. 2021. 1. 5.
[4. CSV] CSV 정의 / CSV 함수 만들기 1. CSV란? 조건식이 많고 처리 데이터 양이 많으면 엑셀 데이터가 아닌 CSV 데이터 형식으로 다뤄야 한다. CSV(Comma Separated Value) 정의 : 쉼표로 나눠진 값을 저장한 데이터 CSV 특징 : 1. 엑셀 자료를 불러와 복잡한 전산 작업 가능 2. 원형 그대로 가공하기 좋은 데이터 형식 3. 파이썬으로 불러와 복잡한 연산 수행이 가능 위와 같이 저장된 csv파일을 불러오면 comma로 구분된 형태를 볼 수 있다. 엑셀에 저장할 수 있는 CSV 파일 형식 1. CSV (쉼표 분리) : 프로그래밍용 2. CSV UTF-8 (쉼표 분리) : 한글 깨지는 문제 해결. 에디터, 인터프리터 환경에선 인코딩되지 않는 문제 발생가능 2. 파이썬으로 CSV 활용하기 파이썬으로 CSV파일의 내용을.. 2021. 1. 4.
[3. 정규표현식] 정규표현식 정규표현식이란 특정한 문자의 규칙을 찾고 가공하는 방법 정규표현식 모듈 re 사용하기 import re 정규표현식 re 모듈에서 match 메서드를 써보자. re.match + 용어 설명 match 메서드 : 문자열 중 원하는 패턴의 문자열을 찾는 명령어 메서드란, 클래스 안에 지정된 함수. 클래스란, 객체 지향 프로그래밍의 기본 단위. 2021. 1. 2.
[03.정규표현] 입출력 cmd창에서 진행 1. os 모듈의 함수를 쓰기 위해 os 모듈을 임포트한다. (모듈이란 다른 py프로그램을 불러써 사용할 수 있는 py파일이다. 모듈을 불러오는 행위를 import라고 한다) 2. 현 위치를 파악하자 : os.getcwd() 3. 저장 위치를 수정하자 os.chdir()을 통해 저장 위치를 수정한다. 괄호안에 위치를 넣을 때, 따옴표 안에 넣어야하고 \를 하나씩 더 넣어주거나 혹은 \없이 경로 앞에 r만 넣어줘도 된다. 1. 경로를 확인하고 2. 해당 경로에 어떤 파일들이 있는지 보자 2020. 12. 27.
[02.기초] return, print 위 함수에서 도출된 값(3)을 다른 명령어나 함수에 대입해보자 ex) result is x(대입대상) print()함수는 결과값을 화면에 출력만 하고 저장하지 않아 None으로 나온다. 반면 return함수는 결과값을 화면에 출력도 하고 저장까지 하여 정상 적으로 나타난다. 즉, print함수와 달리 함수의 결과값을 다른 곳(명령어, 함수)에 활용가능하다. 2020. 12. 27.
[02.기초] if 조건문 2020. 12. 27.
[02.기초] for 반복문 1~10까지의 수가 홀수인지 짝수인지 구분해보자 2020. 12. 27.
반응형