-
(Python) - 2 파이썬 교육개발/Python 2024. 8. 23. 17:51
■ 내장 라이브러리
* webbrowser
* time
time.sleep(1) : 1초 후 실행
■ 외부 라이브러리
* faker
faker 는 가짜 데이터를 만들어주는데 유용하다.
■ 탭 문자를 공백 문자 4개로 만드는 py 모듈 만들기
해당 파일을 복사해서
다음과 같이 파이썬 파일로 만들고 저장해준다.
다음 같은 명령어를 준다.
여기서 src 가 sys.argv[1] 은 a.txt 를 의미한다
마찬가지로 dst 는 sys.argv[2] 은 b.txt 를 의미한다
다음과 같이 tab 이 조정된 파일이 만들어진다.
■ vs code 로 실행해보기
해당 방법은 내가 원하는 디렉토리로 바로 코드를 만들 수 있도록 연결해주는 유용한 명령어다
vs 코드로 python 실행도 shift + enter 누르면 터미널 열린다.
실행을 원하는 코드 선택 후 shift + enter 누르면 된다.
test 에 있는 add 함수를 사용하고 싶다면
상단에 import 를 통해 사용하면 된다.
그리고 실행하면 정상적으로 나오는 것을 볼 수 있다.
if __name__ == "__main__":
블록 안의 코드는 test.py가 직접 실행될 때만 실행되고,
import test를 통해 모듈로 가져올 때는 실행되지 않습니다.
따라서 우리가 원하는 mod.py 값만 나온다.
1. 모든 .py은 실행하면 __name__ 변수에 __main__ 이 할당된다.
2. import 로 끌고 오면, 끌고 온 모듈에는 다른 문자열이 기록된다.
■ 웹 크롤링
BeautifulSoup 외부 라이브러리를 통해 크롤링 해본다.
내가 크롤링할 페이지를 url 변수에 저장하고
해당하는 내용을 읽은 값을 html 에 저장해준다.
해당 파일을 html parser 을 통해 파싱한 값을 soup 에 저장한다.
f12 개발자 모드에서 원하는 영역을 선택하고 해당하는 class 값을 확인한다.
원하는 값을 모두 불러오는 find_all 함수 안에 class_ 로 이름을 찾아준다.
※ class 는 예약어로 class_ 넣어줘야 한다.
원하는 값이 잘 출력된 것을 확인할 수 있다.
.text 나 .string 하면 태그 없이 글자만 가져온다.
for 문으로 문자로 모든 글 가져오기(총 10개)
li 리스트 안에 넣기
판다스를 통해 표로 편하게 보기
to_csv() : csv 파일로 저장하기
페이지별로 가져올 수 있다.
2페이지부터 11페이지 가져오기
■ Numpy
np.array() : li 리스트를 배열로 바꿔눈다.
따라서 이렇게 배열끼리 합을 구할 수 있다.
파이썬과 넘파이 속도 차이가 다음과 같이 나는 것을 볼 수 있다.
1차원 배열 / 2차원 배열
10개를 2행 5열로 reshape 처리
2행 3열이 4겹으로 겹쳐져 있다.
a 는 다음과 같이 [0,1,2,3] 인데 여기서 np.array([10]) 을 하면
1개만 넣었지라도 이를 펼쳐줘서 각각 10씩 더해준다.
이를 broadcasting 이라고 한다.
1로 채워진 것 * 3 으로 다 채워주기
1부터 10까지 3개로 균등하게 나누기
기본적인 시각화 라이브러리 matplotlib
numpy.sort()
■ pandas
pandas 는 문자도 들어감
key 는 칼럼의 이름으로 들어감
값들은 세로로 들어가게 됨.
0과 1은 자동으로 들어가는 것
index 는 행, columns 는 열의 제목을 나타내준다.
행 삭제는 drop() 함수 사용
.loc[] 을 통해 원하는 데이터 접근이 가능하다.
loc 는 location 이다 .
단 이럴 경우 시리즈 1차원 형태로 나와서 모양이 안예쁘게 나온다.
따라서 마치 데이터가 여러개 있는 것처럼 묶어주면 이쁘게 나온다.
iloc : integer location
iloc 하면 숫자로 잡아줄 수 있다.
데이터 이름 바꾸기
인덱스, 칼럼 나오게 하기
■ plotly
gapminder() 로 df 만들어준다.
5개 행만 나오게 하기
* rename
일부 이름 바꾸기
앞의 4개 열만 나오게 하기
'개발 > Python' 카테고리의 다른 글
(Python) - 4 파이썬 교육 (0) 2024.08.27 (Python) - 3 파이썬 교육 (0) 2024.08.26 (Python) - 1 파이썬 교육 (0) 2024.08.22