본문 바로가기

전체 글260

이미지 url을 가져올때 없는 이미지인지 체크하는 방법 이미지인지 체크하는 가장 쉬운방법은 해당 파일의 확장자를 보면됩니다 하지만 url 이미지 같은경우는 변수가 발생합니다 때문에 아래와같은 절차를 따릅니다. # Content-Type 헤더 확인: # URL이 이미지를 가리키는지 나타내는지 확인하는 것입니다. # 다음은 if 문을 사용하여 이를 수행하는 방법의 예입니다. import requests r = requests.get(url) if r.headers['Content-Type'].startswith('image'): print("This is an image URL.") else: print("This is not an image URL.") [out]This is not an image URL. 2022. 12. 23.
파이썬 차트 라이브러리 추천 plotly (커스터 마이징이 좋다) 파이썬 차트를 그리는 라이브러리는 matplotlib , seaborn 가 보편적이지만 인터랙티브하게 만들거나 커스터마이징을 하려면 꽤나 머리가 아프다 그래서 plotly 를 사용하면 보다 나은 차트를 구현 할 수 있다. https://plotly.com/python/ 다음 코드는 아래 차트를 그리는 예시이다. fig = make_subplots(rows=2, cols=2,subplot_titles=last_df.columns[1:]) fig.add_trace( go.Scatter(x=last_df['index'], y=last_df['Score'],name="Score", mode="markers+text", text=last_df['index'].values, # text=["Text A", "Tex.. 2022. 12. 23.
두 개의 데이터 프레임을 서브 플롯으로 배치해보자 fig, ax = plt.subplots(1, 2) df1['Win %'].plot(ax=ax[0]) hero.plot(ax=ax[1]) ax[0].set_title('Data Frame 1') ax[0].set_xlabel('X Axis') ax[0].set_ylabel('Y Axis') ax[1].set_title('Data Frame 2') ax[1].set_xlabel('X Axis') ax[1].set_ylabel('Y Axis') ax[1].legend() plt.show() 2022. 12. 22.
Streamlit 이미지 크기를 조절하기 서론 : 스트림릿 대쉬보드는 데이터 분석용으로 이미지 처리 기능이 내장되어있지 않기때문에 아래와 같은 단계를 따릅니다. steps: 1. 먼저 이미지 처리 및 조작 기능을 제공하는 Pillow 라이브러리를 설치합니다. Python 패키지 관리자인 pip를 사용하여 Pillow를 설치할 수 있습니다. pip install pillow 2. 다음으로 Streamlet 함수의 Pillow에서 필요한 모듈을 가져옵니다. from PIL import Image 3. 'requests' 라이브러리를 사용하여 URL에서 이미지 데이터를 읽습니다. import requests url = 'https://example.com/image.jpg' response = requests.get(url) image_data = .. 2022. 12. 22.
Github AWS EC2 streamlit 배포 자동화 CICD 내 깃허브-> 레파지토리 -> 자동화할 프로젝트 -> action 을 차례로 클릭한후 아래와같이 security 카테고리의 actions 을 추가한다. # name ->개인적인 이름 # on -> 브랜치 메인에 푸쉬할때마다. name: ec2 deploy on: push: branches: - main # jobs -> 깃허브의 우분투 서버를 연결 jobs: SSH: runs-on: ubuntu-latest # steps-> checkout -> 레파지토리 소스코드를 우분투에 가져온다. steps: - uses: actions/checkout@v3 - name: ssh to ec2 uses: appleboy/ssh-action@master with: key: ${{ secrets.SSH_PRIVATE_K.. 2022. 12. 20.
Pandas 행과 열의 문자열인덱스를 숫자로 가져오는 방법 # pandas 문자열로 된 인덱스를 숫자로 가져오는방법 # Create a sample dataframe df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}, index=['a', 'b', 'c']) # Find the index number of label 'b' index_number = df.index.get_loc('b') print(index_number) # Output: 1 # pandas 문자열로 된 컬럼을 숫자로 가져오는방법 # Create a sample dataframe df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}) # Find the ind.. 2022. 12. 16.
문자열로 이루어진 리스트를 피클로 저장할때 import pickle # 저장할때 open("파일명", "wb") wb == 바이너리로 저장 # dump(변수명, f) with open("list.pickle","wb") as f: pickle.dump(flattened_list, f) # 로드할때 open("경로명", "rb) rb == 리드 바이너리 with open("data/list.pickle", "rb") as f: flattened_list = pickle.load(f) 2022. 12. 15.
Git 리눅스에서 비공개 레파지토리 클론이 되지않을때 git clone https://[깃계정이름]:[개인엑세스토큰]@github.com/[깃계정이름]/[깃저장소이름] 액세스 토큰생성은 깃허브 내정보 - 개발자옵션 - 클래식- 레파지토리 권한부여 2022. 12. 15.
AWS EC2 생성방법, Putty로 접속, aws에서 웹대시보드 streamlit 백그라운드에서 돌리기 1. 로그인 2. ec2 생성 3. 기본적인 항목 입력, 옵션은 읽으면서 적용하는데 프리티어기 때문에 할것은 용량늘리기 정도이다. 4. 여기서 os는 aws linux를 사용할것 5. 키페어 생성 윈도우는 PPK를 선택한다. 키를 잃어버리면 접속할 수가없으므로 저장을 해놓자. 6.인스턴스가 생성되었으면 세부정보에서 공인ip 혹은 dns를 복사한다. 7. 로컬에 Putty를 설치하고 실행한다. 8. 세션에 복사한 ip를 붙여넣는다. 9. ssh -> auth -> 아까 생성한 키페어 .ppk 파일을 넣는다. 10. 세션으로 돌아가 open 하면 리눅스가 열린다. 11. 유저 이름을 입력하라고 하는데 아마존 리눅스의 기본 아이디는 ec2-user 이다. 12. 파이썬을 사용하기 위해 홈 디렉토리에 anaco.. 2022. 12. 14.
Streamlit 을 이용한 자동차 가격예측 웹 대시보드 연습 github 에 새로운 레파지토리를 만든다. readme 파일에 아래와 같이 순서를 적는다. 비쥬얼 스튜디오로 클론을 가져온다. 관련 데이터들은 클론을 가져온 폴더에 넣는다. https://github.com/leopard4/streamlit_car_price_app GitHub - leopard4/streamlit_car_price_app Contribute to leopard4/streamlit_car_price_app development by creating an account on GitHub. github.com 위의 코드로 만들어진 웹 대시보드의 이미지 2022. 12. 13.
Streamlit 여러 차트 그리는 방법들(seaborn,matplotlib,plotly,altair) import streamlit as st import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sb def main() : st.title('차트 그리기 1') df = pd.read_csv('streamlit_data/iris.csv') st.dataframe( df.head() ) # sepal_length 와 sepal_width 의 관계를 차트로 그리시오. fig = plt.figure() plt.scatter(data=df, x='sepal_length', y='sepal_width') plt.title('Sepal Length Vs Width') plt.xlabel('sepal length.. 2022. 12. 13.
Streamlit 파일 분리 앱(사이드 메뉴바 이용 ) 위의 함수를 아래와같이 메인페이지에서 if 문을 사용해 호출하면 해당 메뉴를 클릭했을때 함수가 작동하게 된다. # 이 코드는 메인페이지이다. 서브 페이지의 함수를 모두 작성 후 사용해야 정상동작한다. import streamlit as st # 다른 파일의 함수를 호출하고 싶으면, 함수를 임포트 한다. from app_Home import run_home_app from app_eda import run_eda_app from app_ml import run_ml_app def main(): st.title('파일 분리 앱') menu = ['Home', 'EDA', 'ML','About'] choice = st.sidebar.selectbox('메뉴', menu) if choice == 'Home' :.. 2022. 12. 13.