본문 바로가기

전체 글349

프로젝트 : 부산항만공사 서비스 제안관련 데이터분석-3 ㅁ 프로젝트 산출물 : https://busanportservice.streamlit.app/ Abstract Busan Port busanportservice.streamlit.app ㅁ선용품 관련 품목선정 중 식품카테고리에 대한 워드 크라우드 활용 데이터 크롤링 ○ 셀레니움 → 크롤링 활용 ○ 뷰티풀숲 → 크롤링 활용 ○ re → 전처리 활용 ○ pandas → 전처리 활용 from selenium import webdriver #Selenium의 웹 드라이버를 사용하기 위한 모듈을 임포트 from selenium.webdriver.common.by import By #Selenium에서 사용하는 By 클래스를 임포트합. 웹 요소를 검색하는데 사용. from selenium.webdriver.comm.. 2024. 3. 11.
프로젝트 : 부산항만공사 서비스 제안관련 데이터분석-2 ㅁ 프로젝트 산출물 : https://busanportservice.streamlit.app/ Abstract Busan Port busanportservice.streamlit.app ㅁ부산항 주변 부동산 공실 데이터 크롤링 ○ 셀레니움 → 크롤링 활용 ○ 뷰티풀숲 → 크롤링 활용 ○ re → 전처리 활용 ○ pandas → 전처리 활용 from selenium import webdriver #Selenium의 웹 드라이버를 사용하기 위한 모듈을 임포트 from selenium.webdriver.common.by import By #Selenium에서 사용하는 By 클래스를 임포트합. 웹 요소를 검색하는데 사용. from selenium.webdriver.common.keys import Keys #키.. 2024. 3. 11.
프로젝트 : 부산항만공사 서비스 제안관련 데이터분석-1 ㅁ 프로젝트 산출물 : https://busanportservice.streamlit.app/ Abstract Busan Port busanportservice.streamlit.app ㅁ항구별 체류시간관련 분석을 위한 데이터 크롤링 ○ 셀레니움 → 크롤링 활용 ○ 뷰티풀숲 → 크롤링 활용 ○ re → 전처리 활용 ○ pandas → 전처리 활용 from selenium import webdriver #Selenium의 웹 드라이버를 사용하기 위한 모듈을 임포트 from selenium.webdriver.common.by import By #Selenium에서 사용하는 By 클래스를 임포트합. 웹 요소를 검색하는데 사용. from selenium.webdriver.common.keys import Key.. 2024. 3. 11.
Chat_gpt API 연동방법 □ https://openai.com/product 접속 □ API>Overview 클릭 ※ 계정이없다면 계정생성 후 로그인할 것 □ API>Overview 클릭 □ 기본적으로 처음 계정생성 후 로그인하면 3개월간 이용할수 있는 $5 가량의 크레딧을 준다고함. 따라서 로그인 후 아래 이미지와 같이 참고하여 잔여크레딧 확인. (작성자의 경우에는 3개월 뒤 크레딧이 소멸되어 $5 충전함) → 최소 충전금액 $5이며, 충전금액만큼 API를 활용할 수 있음 □ API 키 발급 □ API연동관련 코딩 및 ChatGpt 기능구현 #라이브러리 from openai import OpenAI #API키 입력 client = OpenAI( api_key="개인발급키" ) #대화가 끊기지 않도록 while True 사용 w.. 2024. 3. 10.
Numpy 배열 병합/분할 □ 병합 : np.append(배열1,배열2, axis=0or1) #배열간 병합 a = np.arange(1,13).reshape(3,4) b = np.arange(13,25).reshape(3,4) c = np.append(a,b,axis=0) d = np.append(a,b,axis=1) print(f"a 형태 :\n{a}") print("\n") print(f"b 형태 :\n{b}") print("\n") print(f"c 형태(행방향 병합) :\n{c}") print("\n") print(f"d 형태(열방향 병합) :\n{d}") print("\n") □ 병합 ○ vstack = axis 0 기준으로 병합 ○ hstack = axis 1 기준으로 병합 a = np.arange(1,33).resha.. 2024. 3. 10.
Numpy 인덱스 번호를 활용한 임의값 추가 및 삭제 □ np.insert(변수명, 인덱스번호, 추가 값) □ np.delete(변수명, 인덱스번호, 삭제 값) #1차원 배열생성 a = np.array([1,2,3,4,5]) #특정 인덱스번호에 임의 값 넣기 b = np.insert(a,2,100) print(f"a 형태 :\n{a}") print("\n") print(f"b 형태 :\n{b}") #2차원 배열생성 c = np.arange(1,16).reshape(3,5) #특정 인덱스번호에 임의 값 넣기 : 행방향, 열방향 d = np.insert(c,1,100, axis = 0) e = np.insert(c,1,100, axis = 1) #특정 인덱스번호에 임의 값 삭제 : 행방향, 열방향 f = np.delete(c,2, axis = 0) g = np.. 2024. 3. 10.
Numpy 전치행렬 전치 행렬은 행과 열을 교환하여 얻는 행렬이다. 즉, 주대각선을 축으로 하는 반사 대칭을 가하여 얻는 행렬 #전치행렬 Transpose Matrix arr = np.array([[1,2],[3,4]]) print(f"arr : \n{arr}") print("\n") print(f"arr 전치행렬: \n{arr.T}") print("\n") print("\n") arr1 = np.array([[1,2,3],[4,5,6],[7,8,9]]) print(f"arr1 : \n{arr1}") print("\n") print(f"arr1 전치행렬: \n{arr1.T}") print("\n") print("\n") arr3 = np.array([[1,2],[3,4],[5,6]]) print(f"arr3 : \n{arr.. 2024. 3. 9.
Numpy 차원축소 □ 차원추가 : .expand_dims(변수명, axis = 0 or 1) □ 차원축소 : .squeeze(변수명, axis = 0 or 1) #1차원 arr=np.array([1,2]) print(f"arr :\n{arr}") print(f"arr 차원 :\n{arr.ndim}") print("\n") #차원 추가 arr1=np.expand_dims(arr,axis=1) print(f"arr 차원추가 행방향 :\n{arr1}") print("\n") arr2=np.expand_dims(arr,axis=0) print(f"arr 차원추가 열방향 :\n{arr2}") print("\n") print(f"arr1 :\n{arr1}") print("\n") print(f"arr2 :\n{arr2}") prin.. 2024. 3. 9.
Numpy 배열연산4 □ 브로드캐스팅 #브로드케스팅 arr1 = np.array([[0,0,0],[1,1,1],[2,2,2]]) arr2 = np.array([[5,6,7]]) print(f"arr1 :\n{arr1}") print("\n") print(f"arr2 :\n{arr2}") print("\n") print(f"arr1 + arr2 :\n{arr1+arr2}") print("\n") arr3 = np.array([[1,1,1]]) arr4 = np.array([[0],[1],[2]]) print(f"arr3 :\n{arr3}") print("\n") print(f"arr3 :\n{arr4}") print("\n") print(f"arr3 + arr4 :\n{arr3+arr4}") 2024. 3. 9.