목록python (30)
차밍이
목차 들어가며 리스트 요소들 전체의 합은 sum으로 구해지는데 리스트 요소들 끼리의 곱은 구해지지가 않는다. 그래서 해당 방법에 대해 알아보자. 총 3가지의 종류가 있다. for문 돌아가며 수행하기 eval과 join 함수를 사용하기 reduce함수 사용하기 for 문 수행하기 def multiplyAll_v1(s:list) -> int: ans = 1 for n in s: ans *= n return ans eval 함수와 join 메소드 사용하기 from functools import reduce def multiplyAll_v2(s:list) -> int: return eval("*".join([str(n) for n in s])) eval 함수에 대해서 잘 모른다면 다음 포스팅을 참고하면 됩니다...
목차 getattr() 속성 값을 가져오는 함수 class Animal: leg = 4 size = "Big" def enemy(self): print("컹컹컹!") def friend(self): print("왕왕조왕") animal = Animal() animal.leg >>> 4 getattr(animal, "leg") >>> 4 geattr에 대해서는 더 자세하게 작성한 게시글을 참고하면 좋습니다. [Python] getattr() 를 사용해서 간결하게 코드 작성하기, 예시 및 장점 [Python] getattr() 를 사용해서 간결하게 코드 작성하기, 예시 및 장점 목차 getattr() 구문 getattr(object, attribute, default) [매개변수] object : 필수. 객..
카드2 성공 시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율 2 초 (추가 시간 없음) 128 MB 28612 15057 12620 54.019% 문제 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 한 장 남을 때까지 반복하게 된다. 우선, 제일 위에 있는 카드를 바닥에 버린다. 그다음, 제일 위에 있는 카드를 제일 아래에 있는 카드 밑으로 옮긴다. 예를 들어 N=4인 경우를 생각해 보자. 카드는 제일 위에서부터 1234 의 순서로 놓여있다. 1을 버리면 234가 남는다. 여기서 2를 제일 아래로 옮기면 342가 된다. 3을 버리면 42가 되고, ..
데이터 구간별 범주화 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..
zip함수를 사용하면 여러 그룹의 데이터를 묶어서 출력해줄 수 있습니다. zip 함수 zip()함수는 iterable 객체를 인자로 받아서 사용합니다. 여러 개의 iterable객체를 받은 후 자료형 들을 묶어서 튜플 형태로 출력해줍니다. # zip(*iterable) : 동일한 개수로 이루어진 자료형을 묶어 줌 a = ['one', 'two', 'three'] b = ['a', 'b', 'c'] list(zip(a, b)) >>> [('one', 'a'), ('two', 'b'), ('three', 'c')] a라는 리스트와 b라는 리스트의 값들이 index 순서에 따라서 묶어진 것을 확인할 수 있습니다. # 두 리스트의 요소 끄집어내기 # zip 함수 사용한 방법 for val1, val2 in zi..
enumerate함수를 사용하면 리스트의 요소와 인덱스를 같이 가져올 수 있다. a = ['one', 'two', 'three'] list(enumerate(a)) >>>[(0, 'one'), (1, 'two'), (2, 'three')] enumerate를 사용하면 순서를 0번부터 붙여주는 것을 확인할 수 있습니다. enumerate에서 값을 튜플 형식으로 인덱스 값과 리스트의 변수 값을 가져오는 것을 확인할 수 있습니다. # 리스트의 요소와 인덱스를 가져오기 a = ['one', 'two', 'three'] for index in range(len(a)): print(index, a[index]) >>> 0 one 1 two 2 three # enumerate 함수를 사용한 방법 a = ['one',..
파이썬을 활용해서 캔들 차트를 그리는 방법을 알아보겠습니다. 일반적으로 주식 시장에서 많이 사용되는 캔들 스틱 차트를 그려야 분석하는데 더욱 도움이 됩니다. 우선, 가장 중요한 캔들 차트를 그리기 위한 라이브러리를 설치해야 합니다. mplfinance 라이브러리 설치 pip install mplfinance pip install mpl_finance 버전이 조금 달라지면서 설치 이름이 조금씩 다른 것 같습니다. 이전에는 mpl_finance였던 것 같은데, 2020년 10월 11일 현재 기준으로 mplfinanace로 설치하는 것이 맞는 것 같습니다. pip install mplfinance로 설치해주시면 되겠습니다. 설치 후에도 문제가 있다면, pip upgrade mplfinance를 진행해주시기 바..
Python을 사용해서 키움증권 OpenAPI 자동 로그인을 진행하기 위한 방법입니다. 파이썬에서 키움 OpenAPI를 실행하시면 다음과 같은 창으로 시작됩니다. 해당 로그인에서 비밀번호를 수동으로 작성해야하는 부분이 불편합니다. 자동화를 위해서 해당 창이 발생되지 않고 자동으로 API가 접속되기 위한 방안입니다. 1. 먼저 비밀번호를 작성해서 로그인을 먼저 진행합니다. 2. 오른쪽 아래에서 OpenAPI의 아이콘을 찾습니다. 3. 마우스 우클릭을 합니다. 4. 계좌비밀번호 저장을 선택합니다. 5. 계좌 비밀번호 저장을 선택합니다. 6. 계좌확인 부분에 계좌의 비밀번호를 입력합니다. 모의투자 계좌라면 0000을 넣으시면 됩니다. 7. 등록을 클릭합니다. 8. AUTO를 체크합니다. 9. 다시 등록을 눌러..
Kaggle의 타이타닉 데이터를 바탕으로 의사결정 나무(Decision tree) 모델을 만들어서 예측을 진행해보겠습니다. 그리고 랜덤포레스트 모델을 사용해서 성능을 비교해보겠습니다. 전체적으로 세세하게 데이터를 분석하고 예측하는 것이 아닌, 간단하게 데이터 전처리를 모델을 만들어 보는 것에 초점을 맞추어 실습을 진행하겠습니다. 타이타닉 데이터 출처 : [https://www.kaggle.com/c/titanic] Library import pandas as pd import numpy as np import re from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier from s..