Python 46

[Python] 환경변수를 사용하여 데이터 수집하기

# 환경변수(environment variable) 프로그램 외부에서 실행 중인 프로세스에 대한 구성 정보 또는 데이터를 저장하는 변수 환경 변수는 프로세스가 실행되는 환경의 일부이며, 실행 중에 프로그램이 액세스할 수 있는 설정, 시스템 경로, 인증 토큰 및 기타 정보를 저장하는 데 사용된다. # 환경변수를 사용하여 데이터를 수집해야 하는 이유 보안: API 키, 비밀번호 또는 기타 자격 증명과 같은 중요한 정보는 직접 소스 코드에 하드코딩되면 보안에 취약할 수 있다. 환경 변수를 사용하면 이러한 민감한 정보를 별도로 안전하게 저장할 수 있으며, 코드 외부에 저장되므로 중요한 정보가 노출되지 않는다. 유지보수 및 확장성: 환경 변수는 코드를 수정하지 않고도 설정 값을 간단히 변경할 수 있는 편리한 방법..

Python 2024.02.01

[Python] Requests와 BeautifulSoup를 활용한 크롤링

# 웹 크롤링(Web Crawling) 웹 사이트에서 정보를 체계적으로 검색하고 추출하는 프로세스 다양한 웹 페이지에서 데이터를 수집하기 위한 자동화된 탐색 과정 # Requests Python에서 HTTP 요청을 보내는 데 사용되는 인기 있는 서드파티 라이브러리 HTTP/1.1 요청을 손쉽게 만들 수 있도록 복잡성을 숨기며, 개발자가 쉽게 웹 서비스와 상호 작용하고 웹 사이트에서 데이터를 가져올 수 있게 한다. 특징 User-Friendly API: HTTP 요청을 보내기 위한 깔끔하고 간단한 API를 제공하여 개발자가 쉽게 작업할 수 있도록 한다. HTTP Methods: GET, POST, PUT, DELETE 등 다양한 HTTP 메소드를 지원하여 다양한 방식으로 웹 서버와 상호 작용할 수 있다. ..

Python 2024.01.31

[Pandas] 데이터 연산

# 데이터 연산 pandas의 Series()와 DataFrame()으로 생성한 데이터끼리는 사칙 연산을 할 수 있다. import pandas as pd s1 = pd.Series([1, 2, 3, 4, 5]) s2 = pd.Series([10, 20, 30, 40, 50]) s1 + s2 # 0 11 # 1 22 # 2 33 # 3 44 # 4 55 # dtype: int64 s2 - s1 # 0 9 # 1 18 # 2 27 # 3 36 # 4 45 # dtype: int64 s1 * s2 # 0 10 # 1 40 # 2 90 # 3 160 # 4 250 # dtype: int64 s1 / s2 # 0 0.1 # 1 0.1 # 2 0.1 # 3 0.1 # 4 0.1 # dtype: float64 파이..

Python 2024.01.17

[Pandas] 구조적 데이터 생성하기

# Series를 활용한 데이터 생성 import pandas as pd s = pd.Series(seq_data) Series()의 인자로는 시퀀스 데이터(seq_data)가 들어간다. 시퀀스 데이터로는 리스트와 튜플 타입의 데이터를 모두 사용할 수 있지만, 주로 리스트 데이터를 이용한다. Series 데이터에서는 세로축 라벨을 index라고 하고, 입력한 시퀀스 데이터를 values라고 한다. s1 = pd.Series([10, 20, 30, 40, 50]) s1 # 0 10 # 1 20 # 2 30 # 3 40 # 4 50 # dtype: int64 s1.index # RangeIndex(start=0, stop=5, step=1) s1.values # array([10, 20, 30, 40, 50..

Python 2024.01.17

[NumPy] 배열의 인덱싱과 슬라이싱

# 배열의 인덱싱(Indexing) 배열의 위치나 조건을 지정해 배열의 원소를 선택하는 것 1차원 배열에서 특정 위치의 원소를 선택하는 경우 배열명[위치] # 1차원 배열 생성 a1 = np.array([0, 10, 20, 30, 40, 50]) a1 # array([ 0, 10, 20, 30, 40, 50]) a1[4] # 40 # 원소의 값 변경 a1[5] = 70 a1 # array([ 0, 10, 20, 30, 40, 70]) 1차원 배열에서 여러 개의 원소를 선택하는 경우 배열명[[위치1, 위치2, ..., 위치n]] # 리스트를 통해 추출: 인덱스 위치를 리스트화 a1[[0, 2, 4]] # array([ 0, 20, 40]) idx_list = [0, 2, 4] a1[idx_list] # a..

Python 2024.01.17

[NumPy] 배열의 연산

# 기본 연산 arr1 = np.array([10, 20, 30, 40]) arr2 = np.array([1, 2, 3, 4]) # 덧셈 print(arr1 + arr2) # [11 22 33 44] # 뺄셈 print(arr1 - arr2) # [ 9 18 27 36] # 곱셈 print(arr1 * arr2) # [ 10 40 90 160] # 나눗셈 print(arr1 / arr2) # [10. 10. 10. 10.] 비교 연산 arr1 > 20 # array([False, False, True, True]) # 통계를 위한 연산 # 배열 생성 arr3 = np.arange(5) arr3 # array([0, 1, 2, 3, 4]) 배열의 합 arr3.sum() # 10 배열의 평균 arr3.mea..

Python 2024.01.17

[NumPy] np.random.randint를 이용하여 로또 번호 생성기 만들기

# 로또 번호 생성기 1~45 사이 난수 7개 생성(로또 당첨 번호 6개 + 보너스 번호 1개) 중복되는 번호가 없어야 함 오름차순으로 정렬 # 방법 1 import numpy as np # Initialize an empty list for lotto numbers. lotto = [] # Generate 6 unique lotto numbers between 1 and 45. for i in range(6): # Generate a random number and ensure it's not a duplicate. num = np.random.randint(1, 46) while num in lotto: num = np.random.randint(1, 46) lotto.append(num) # Sor..

Python 2024.01.17

[NumPy] 배열 생성

# NumPy 파이썬으로 과학 연산을 쉽고 빠르게 할 수 있게 만든 패키지 다차원 배열 데이터를 효과적으로 처리할 수 있다. # NumPy 패키지 불러오기 import numpy as np # 시퀀스 데이터로부터 배열 생성하기 arr_obj = np.array(seq_data) # 정수로 구성된 리스트로 배열 생성하기 data1 = [0, 1, 2, 3, 4, 5] a1 = np.array(data1) a1 # array([0, 1, 2, 3, 4, 5]) a1.dtype # dtype('int32') # 정수와 실수가 혼합된 리스트로 배열 생성하기 data2 = [0.1, 5, 4, 12, 0.5] a2 = np.array(data2) a2 # array([ 0.1, 5. , 4. , 12. , 0.5..

Python 2024.01.17

[Python] 가상 환경 사용하기

# 가상 환경(virtual environment) 파이썬 프로젝트를 위한 독립된 환경을 만드는 도구 각 프로젝트에서 필요한 라이브러리와 패키지의 버전을 독립적으로 관리할 수 있다. 프로젝트 간 충돌을 방지하고, 특정 프로젝트에서 필요한 패키지를 필요한 버전으로 사용할 수 있다. # 가상 환경을 사용하는 이유 Dependency Management 프로젝트마다 필요한 라이브러리와 패키지의 버전이 다를 수 있다. 가상 환경을 사용하면 각 프로젝트가 필요로 하는 패키지 버전을 독립적으로 관리할 수 있다. Project Isolation 가상 환경을 사용하면 각 프로젝트가 독립적인 공간에서 실행되므로, 하나의 프로젝트에서 발생하는 문제가 다른 프로젝트에 영향을 미치지 않는다. Preventing Version..

Python 2024.01.16
728x90