목록파이썬 (149)
차밍이
목차 파일명 한 번에 바꾸기 os 모듈의 rename 메소드를 사용해서 바꿀 수 있다. 폴더의 파일 명 앞의 conved_를 모두 삭제한 이름으로 바꾸려고 합니다. 기존 파일 확인하기 파이썬에서 기존 파일 위치 경로를 통해 해당 파일 이름들을 불러와 확인합니다. import os path = "./Documents/test" file_list = os.listdir(path) file_list 파일 이름 수정 및 저장 for file in file_list: # 전체 파일 리스트에 대해서 수행 src = os.path.join(path, file) # 기존 파일 경로 dst_name = file.replace("conved_", "") # 이름 수정 dst = os.path.join(path, dst_n..
목차 파일명 가져오기 os.listdir을 사용해서 원하는 파일의 파일 명을 가져옵니다. import os path = "./Documents/test" file_list = os.listdir(path) file_list 파일명에서 확장자 구분하기 file = file_list[0] os.path.splitext(file) >>> ('2c9fb', '.log') 2c9fb.log >>> 2c9fb 와 .log로 나누어진 것을 확인할 수 있습니다. 파일 이름 부분과 확장자로 나누어지므로 각자 할당 받아서 사용할 수 있습니다. ex) 아래 name, ext = os.path(splitext(file)) 확장자 명에 . 을 포함하고 있으므로 확장자만 사용하려면 ext[1:] 과 같은 방법으로 사용하면 됩니다..
Y축 반전 뒤집기 기본 수식 작성 import plotly.graph_objects as go import numpy as np x = np.arange(-5, 6) y = x**3 fig = go.Figure(data=go.Scatter(x=x, y=y)) fig.show() 축 반전 fig.update_layout( yaxis = dict(autorange='reversed'), ) update_layout 에서 자동 범위 설정을 reversed 로 설정하면 반전이 수행됩니다. x 축은 xaxis로 설정해서 하면 동일하게 적용할 수 있습니다. 전체 소스 코드 import plotly.graph_objects as go import numpy as np x = np.arange(-5, 6) y = x*..
카드2 성공 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 2 초 (추가 시간 없음) 128 MB 28612 15057 12620 54.019% 문제 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 한 장 남을 때까지 반복하게 된다. 우선, 제일 위에 있는 카드를 바닥에 버린다. 그다음, 제일 위에 있는 카드를 제일 아래에 있는 카드 밑으로 옮긴다. 예를 들어 N=4인 경우를 생각해 보자. 카드는 제일 위에서부터 1234 의 순서로 놓여있다. 1을 버리면 234가 남는다. 여기서 2를 제일 아래로 옮기면 342가 된다. 3을 버리면 42가 되고, ..
동전 0 성공 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 1 초 256 MB 53997 28653 22442 52.533% 문제 준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다. 동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) 출력 첫째 줄에 K원을 만드는데 필요한 동전 개수의 최솟값을 출력한다. 예제 입력 1 10 4200 ..
파이썬을 활용한 나만의 텔레그램 봇을 만들어보겠습니다. 자신만의 필요한 알림을 위해서나 스케줄 관리를 위해서 텔레그램 봇을 활용할 수 있습니다. 시간이 되면 딱딱 필요한 내용들을 메시지로 보내준다면 편리하겠죠! 1. 텔레그램 봇 만들기 핸드폰에서 Google Play Store에서 telegram 앱을 설치해주세요. telegram을 실행해줍니다. 1.1 BotFather 텔레그램 상단의 돋보기 모양을 선택합니다. BotFather를 검색합니다. 1.2 Bot 생성 시작을 누르면 Telegram 봇 만들기를 시작합니다. /newbot을 누르거나 타이핑해서 메세지를 보냅니다. How are we going to call it? 봇의 이름을 어떻게 정할 것인지 묻습니다. 원하는 이름을 적어주세요. 저는 My..
데이터 구간별 범주화 pd.cut 데이터 값들을 특정 구간에 따라서 범주화할 때, 사용 범주를 나누고 라벨을 붙여서 범주형 데이터로 변환 가능 연속 데이터를 구간별로 범주화하는 함수 pd.cut 사용 방법 import pandas as pd ages = [0, 10, 15, 13, 21, 23, 37, 31, 43, 80, 61, 20, 41, 32, 100] bins = [0, 15, 25, 35, 60, 100] labels = ['어린이', '청년', '장년', '중년', '노년'] cuts = pd.cut(ages, bins, right=False, labels=labels) cuts >>> [어린이, 어린이, 청년, 어린이, 청년, ..., 노년, 청년, 중년, 장년, NaN] Length: 1..
1. Pandas 자료 구조 판다스에서 사용하는 자료 구조는 두 가지가 있습니다. Series와 DataFrame이 있습니다. Series 생성 시 index 매개 변수를 이용하여 이름을 지정할 수 있습니다. 각 index에 따른 Series 들이 모여서 DataFrame을 구성합니다. 1.1 Series import pandas as pd s = pd.Series([1, 2, 3]) s >>> 0 1 1 2 2 3 dtype: int64 1.2 Dataframe df = pd.DataFrame([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) df >>> 0 1 2 0 1 2 3 1 4 5 6 2 7 8 9 행과 열을 정하지 않으면 0, 1, 2 순서로 형성됩니다. 1.2.1 DataFra..
파이썬에서 함수를 사용할 때 입력 값을 받아서 사용하는 경우가 많습니다. 함수에서 입력 값을 받을 때, 상황에 따라서 입력받는 값의 개수가 달라질 수 있는 경우가 생길 수 있습니다. 예를 들면 내장 함수인 sum과 같은 경우가 있습니다. list 내부의 값들의 sum을 진행할 때, list의 길이에 영향을 받지 않고 모두 합해집니다. 이처럼 다양한 값을 받아서 함수를 사용하기 위한 "매개변수"에 대해서 알아보겠습니다. 1. 위치매개변수 가장 흔하게 사용되는 매개변수 전달 방식 매개변수의 위치에 맞게 값이 전달되는 방식 example def change_location(num1, num2): return num2, num1 change_location(5,10) >>> (10, 5) add_value(5,..
Numpy 기초를 공부하기 2 np.fromfunction def myfunc(x,y): return 10*x + y arr1 = np.fromfunction(myfunc,(5,4), dtype=int) arr2 = np.fromfunction(myfunc,(5,4), dtype=int) arr1, arr2 >>> (array([[ 0, 1, 2, 3], [10, 11, 12, 13], [20, 21, 22, 23], [30, 31, 32, 33], [40, 41, 42, 43]]), array([[ 0, 1, 2, 3], [10, 11, 12, 13], [20, 21, 22, 23], [30, 31, 32, 33], [40, 41, 42, 43]])) np.fromfunction을 사용하면 함수 형식을..