목록python (30)
차밍이
목차 파이썬으로 작업하다보면 SQL 데이터 작업을 해야할 때가 생깁니다. SQLite 데이터베이스를 파이썬에서 연결하는 방법에 대해서 알아보겠습니다. 전체적인 Flow 파이썬에서 DB 파일에 연결하고 작업하는 전체적인 과정입니다. import sqlite3 con = sqlite3.connect('example.db') cur = con.cursor() # 테이블 만들기 cur.execute('''CREATE TABLE stocks (date text, trans text, symbol text, qty real, price real)''') # ROW 단위로 데이터 저장하기 cur.execute("INSERT INTO stocks VALUES ('2006-01-05','BUY','RHAT',100,35..
목차 Plotly를 사용해서 간단한 누적 막대 그래프와 그룹 막대 그래프를 그리는 것에 대해서는 이전 게시글을 확인해주세요. [Python] Plotly 그래프 사용법 - Bar Plot 목차 Plotly 그래프 중 Bar Graph 그리는 방법에 대해 소개하겠습니다. express와 graph_objects 두 가지 방식을 모두 알아보겠습니다. 두 개의 차이가 궁금하다면 아래 글을 참고 해주세요. [Plotly] express와 chancoding.tistory.com 이번 게시글에서는 그룹화된 누적 막대그래프를 그리는 방법에 대해서 알아보겠습니다. 엑셀로도 해보려고 했는데 잘되지 않아서 Python Plotly를 통해서 그냥 구현하는게 빠르겠다 싶어서 알아보았습니다. 1단계 : 기본 데이터 생성 그래..
목차 블로그 글을 작성하거나, 이런저런 예시나 테스트를 할 때 가끔 랜덤한 데이터를 생성할 필요한 경우가 생깁니다. 한 번 알아놓으면, 매번 귀찮게 찾아보지 않아도 되니 천천히 따라 해보세요. Random 데이터로 DataFrame 만들기 바쁜 사람들을 위해 결론 소스코드만 먼저 발사합니다. import pandas as pd import numpy as np df = pd.DataFrame(np.random.randint(0,100,size=(100, 5)), columns=list("abcde")) df 0~99까지의 랜덤한 정수로 이루어진 100행 5열짜리 데이터프레임 생성완료 아래는 설명하겠습니다ㅎ 랜덤한 숫자 뽑기 넘파이 모듈을 사용해서 랜덤한 숫자 뽑기 import numpy as np np...
목차 Plotly 그래프 중 Bar Graph 그리는 방법에 대해 소개하겠습니다. express와 graph_objects 두 가지 방식을 모두 알아보겠습니다. 두 개의 차이가 궁금하다면 아래 글을 참고 해주세요. [Plotly] express와 graph_objects의 차이 / px와 go 차이 [Plotly] express와 graph_objects의 차이 / px와 go 차이 목차 Plotly를 사용해서 그래프를 그리는 방법은 2가지가 있습니다. 한 가지는 express를 사용하는 방법과 graph_objects를 사용하는 방법입니다. 저는 어떨때 express를 쓰고 어떨때 graph_objects를 쓰는 것 chancoding.tistory.com 예시 데이터 아래 예시에서 사용할 기본 데이터..
목차 Subplot 기본 구조 그리기 make_subplots 함수를 사용해서 서브플롯 생성 rows와 cols 값을 통해서 몇 행, 몇 열로 그래프를 그릴지 설정하면 됨 import plotly.graph_objects as go from plotly.subplots import make_subplots fig = make_subplots(rows=2, cols=2) # make_subplots를 사용해서 서브플롯 구조를 그림 Subplot에 Subtitle 설정하기 start_cell subplot 번호 시작 위치를 바꿀 수 있음. 설정을 바꾸지 않으면 왼쪽 위부터 시작함 subplot_titles 각 Subplot 마다 부제목을 달아줄 수 있음 fig객체에 add_trace를 통해서 그래프를 추가해..
목차 Legend 이름 및 순서 설정 legendrank 를 통해서 순서의 우선순위를 줄 수 있다. name 에 설정해준 값이 legend로 표시된다. fig = go.Figure() fig.add_trace(go.Bar(name="fourth", x=["a", "b"], y=[2,1], legendrank=4)) fig.add_trace(go.Bar(name="second", x=["a", "b"], y=[2,1], legendrank=2)) fig.add_trace(go.Bar(name="first", x=["a", "b"], y=[1,2], legendrank=1)) fig.add_trace(go.Bar(name="third", x=["a", "b"], y=[1,2], legendrank=3)) f..
목차 파이썬을 사용해 데이터 분석을 진행할 때, 필수적으로 사용하는 라이브러리가 있다면 판다스와 넘파이가 있다. 데이터를 많이 다루기 시작하면서 생각보다 DataFrame을 다루는 것이 느린 것 같다는 의문을 가지는 경우가 종종있다. 그래서 데이터프레임의 매소드인 value_counts와 unique에 대해서 과연 정말 빠른지 확인을 해보았다. 결론 먼저 애기하자면, 그냥 pandas사용하는 것이 맘편하다...ㅇㅅㅇ; 속도 측정은 쥬피터의 %%timeit을 사용해서 시간을 측정하였다. %timeit에 대해서 더 알아보려면 아래 링크를 참고하면 된다. [파이썬] %timeit으로 jupyter notebook에서 Cell 단위 코드 수행 시간 확인하기 [파이썬] %timeit으로 jupyter notebo..
Plotly 그래프를 그릴 때 마다 레이아웃 설정하는 부분들이 생각이 안나서 찾아보는 경우가 많다. 그래서 자주 사용하는 layout 설정 소스코드를 작성해서 필요한 부분에 맞게 복분할 수 있도록 앞으로 모아갈 예정이다. import plotly.graph_objects as go import plotly.express as px fail_area = df['불량위치'].value_counts() fig = go.Figure(data=[go.Bar( x=[chr(i) for i in range(65, 65+len(fail_area.values))], y=fail_area.values, marker_color=px.colors.qualitative.Dark24, )]) fig.update_layout( t..
문제 설명 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution 함수를..
목차 문제 설명 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers는 길이 1 이상 7 이하인 문자열입니다. numbers는 0~9까지 숫자만으로 이루어져 있습니다. "013"은 0, 1, 3 숫자가 적힌 종이 조각이 흩어져있다는 의미입니다. 입출력 예 numbers return "17" 3 "011" 2 입출력 예 설명 예제 #1 [1, 7]으로는 소수 [7, 17, 71]를 만들 수 있습니다. 예제 #2 [0, 1, 1]으로는 소수 [1..