numpy문제 풀이 + streamlit 기초 틀 이해하고 간단한 페이지 만들어보기

박경현·2023년 9월 11일
0

넘파이 문제를 오늘 30개를 간단하게 풀어보면서 기본적으로 알고 익혀두어야
하는 부분들을 적어보려고 한다!

추가로 streamlit이 무엇이고 간단하게 웹페이지 만든거 정리까지 했다

넘파이 문제를 풀면서 알게 된 것들 기억하기!

넘파이에서 다차원 배열을 하나의 차원으로 만드려면
이렇게 flatten() 함수나 reshape() 함수를 사용해서 하나의 차원으로 만들 수 있다

arr = np.array([[1,2], [3,4]])
arr = arr.flatten()
# arr = arr.reshape(4)

reshape을 사용하게 된다면
np.array[1,2,3,4,5,6].reshape(2,3) -> 2 row, 3 col으로 2차원 배열로
형태가 만들어지게 된다!

np.ones(20, dtype=int)
ones함수를 사용해서 데이터 개수를 총 몇개를 1로 두는 배열로 만들건지 정할 수 있다

np.zeros((3,4)
ones랑 다르게 행 열을 안에서 shape을 잡아줄 수가 있어서 reshape을 안 붙여도 되는
편의성이 있는거 같다!

만약 모든 데이터가 255인 (3,4) 형태의 배열을 만든다면?

arr = np.ones(12,dtype=int).reshape(3,4) * 255

Arr.dtype
‘’면 U1이 나옴 문자하나 1바이트
Arr.astype(int16)

linespace 와 arange의 차이점

둘 다 특정 수들을 이용해 ndarray 자료형을 반환한다
하지만 마지막 세번째 옵션 인수의 뜻이 다르다!!

linespace의 경우 (처음, 끝, 개수)
arange(처음, 끝, 간격)

linespace(1,10, 2) -> 1부터 10개까기 2개를 출력! -> 그래서 1,10만 나옴!
arange(1,10,2) -> 1,3,5,7,9 가 나온다 -> 2개씩 간격을 두고 10전까지 나옴!

streamlit을 이용해 데이터 분석에 최적화된 웹 만들기

ai쪽 공부를 하던 도중 streamlit을 사용해서 데이터 분석을 활용한 웹을 만들 수 있다는걸
알게되어 공모전에 활용해보려고 공부중에 있다

elements 와 widget

elements는 말 그대로 요소를 나타낸다!
랜더링된 데이터나 텍스트를 화면에 적절하게 출력해준다 -> 숫자, 차트 뿐아니라 객체도 가능

대표적인 text element로는 title, header, subheader, markdown, caption등이 있다

widget은 서버와 상호작용을 통해 어플리케이션의 동작을 책임진다

대표적인 예시로는 button, selectbox, checkbox radio 등이 있다

streamlit을 이용한 간단한 페이지 만들어보기!

import streamlit as st

st.title("Streamlit 웹 어플리케이션 with Elice")
st.header("1. 정적페이지 만들기")
st.markdown("""정적페이지를 만드는데에도 많은 요소가 활용""")
st.code("""예를들어~~""")
st.caption("캡션은 인용이나 각주")

name = st.text_input("text_input기능으로 받기", placeholder="네임")
if st.button("입력"):
	st.write(f"이름은 {name}입니다")
 
uploaded_file = st.file_uploader("Choose a csv file")
if uploaded_file:
    st.write("파일 이름: ", uploaded_file.name)

option = st.selectbox(
    'how would you like to be contacted?', ('mobile', 'email'))
st.write(f'you selected: {option}')


with st.sidebar:
    st.selectbox(
        'How would you like to be contacted?',
        ('mobile', 'email')
    )
    add_radio = st.radio('choose a shipping', ('Standard', 'express'))

st.write(add_radio)

profile
SW로 문제를 해결하려는 열정만 있는 대학생

0개의 댓글