본문 바로가기

Python20

[빅데이터] Pandas 로 csv 파일 읽고 데이터 접근하기 In [1]: import pandas as pd 'kmart.csv' 읽어 df에 지정¶ In [2]: df = pd.read_csv("kmart.csv",encoding='cp949') In [3]: df Out[3]: 공급일자 회원번호 조합원상태 물품대분류 물품중분류 물품소분류 물품명 구매수량 주소-구 주소-동 성별 연령 연령대 구매금액 구매매장 반품_원거래일자 구매시각 0 2023-03-15 821885056 정상회원 채소 잎/줄기채소 미나리 한재미나리(200g) 2 수지구 풍덕천동 여 63 60대 13401 매장C NaN 10:15 1 2023-03-15 1284376128 정상회원 간식 빵 식빵, 식사대용 탕종식빵(200g)/매장 1 수지구 풍덕천동 여 37 30대이하 4212 매장C NaN .. 2023. 3. 30.
[Python] 분수 덧셈 문제풀이 분수 덧셈 문제풀이문제첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1, 두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요. 제한사항0  denom1, numer2, denom2  입출력 예풀이두 분모 (denom) 이 서로 나눌 수 없는 수 (소수) 인 경우에 기본적인 분수의 덧셈은 다음과 같다.numer1 / denom1 + numer2 / denom2 = (numer1 * denom2 + numer2 * denom1) / denom1 * denom2즉, 쉬운 표시로는 a/b + c/d = (a*d + b*c) .. 2023. 3. 15.
[Python] 문자열, 리스트 뒤집기 문제풀이 문자열, 리스트 뒤집기 문제풀이문제문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요.def solution(my_string): return my_string[::-1]정수가 들어 있는 배열 num_list가 매개변수로 주어집니다. num_list의 원소의 순서를 거꾸로 뒤집은 배열을 return하도록 solution 함수를 완성해주세요. def solution(num_list): return num_list[::-1]풀이문자열과 리스트 모두 아래에서 설명하는 같은 원리로 인덱스 순서를 뒤집을 수 있다.이 원리는 인덱싱과 슬라이싱 원리를 이용하여 전체를 자르는데 순서를 -1로 놓는 것이다.리스트의 .. 2023. 3. 8.
[Python] datetime 모듈 datetime 모듈 datetime 모듈 datetime 모듈 : 날짜와 시간을 사용하게 해주는 라이브러리 datetime 예제 import datetime christmas_2023 = datetime.datetime(2023, 12, 25) # 2023-12-25 00:00:00 # 2023년 크리스마스부터 지금까지 남은 일수 days = (christmas_2023 - datetime.datetime.now()).days print(days) # 292일 datetime.datetime( , , , , , ) : 해당 날짜와 시간(시, 분, 초)을 리턴 datetime.datetime.now() : 현재 날짜와 시간(시, 분, 초)를 리턴 days() : 해당 일수만 리턴 (cf. years()).. 2023. 3. 7.
[Python] Comprehension ⭐ Comprehension Comprehension은 파이썬에서만 제공하는 유용한 도구로 List Comprehension과 Dictionary Comprehension이 있다. List Comprehension ( 리스트 컴프리헨션 ) 예1) [ for 문 ] 예제 : [ i * i for i in range( 1, 11 ) ] 를 이용해서 1~10 의 숫자를 제곱하여 리스트에 저장 areas = [] # 저장할 리스트 for i in range(1,11): areas = areas + [i*i] # 리스트에 값추가 ( = areas.append(i*i) ) print("areas : ", areas) # areas2 : list comprehension 이용 areas2 = [ i*i for i in .. 2023. 2. 22.
[Python] 나만의 예외 만들기 나만의 예외 만들기 나만의 예외 정의 나만의 예외를 정의하면 사용자가 직접 예외처리를 하게 되어 코드의 직관성을 높일 수 있다. 예외 정의 방법 파일을 하나 만들어 예외를 정의한다. (이때, 파일은 Exception 클래스를 상속받아 만든다.) try-except 문에 에러를 자신이 만든 예외를 이용한다. # 실행 파일에서 에러 정의 파일들을 불러오기 from BadUserName import BadUserName from PasswordNotMatched import PasswordNotMatched def sign_up(): '''회원가입 함수''' try: sign_up() except BadUserName: print("이름으로 사용할 수 없는 입력입니다.") except PasswordNotMa.. 2023. 2. 22.
[Python] 상속과 오버라이드 상속과 오버라이드 상속 (Inheritance) 상속 : 자식 클래스가 부모 클래스의 내용을 가져다 쓸 수 있는 것 (상속하는 클래스를 부모 클래스, 상속받는 클래스를 자식 클래스라 부르고 상속을 하면 부모의 것이 없어지는 것은 아니다.) 상속받는 방법 class ( ) : 상속받는 방법은 상속받을 자식클래스의 매개변수로 부모클래스를 받는 것이다. 상속을 받게되면 자식클래스는 부모클래스의 메서드나 변수를 사용할 수 있다. 상속 예제 class Animal( ): def walk( self ): print( "걷는다" ) def eat( self ): print( "먹는다" ) class Human( Animal ): def wave( self ): print( "손을 흔든다" ) class Dog( An.. 2023. 2. 22.
[Python] 클래스 클래스 클래스와 인스턴스 개념 클래스 (class) : 함수나 변수들을 모아 놓은 집합체이다. 인스턴스 (instance) : 클래스에 의해 생성된 객체로 인스턴스는 각자 자신의 값을 가지고 있다. numbers1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] print(type(numbers1)) # numbers2 = list(range(10)) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] print(type(numbers2)) # isinstance(numbers1, list) # True isinstance(numbers2, list) # True print(numbers1 == list) # False ⭐ 가장.. 2023. 2. 22.
[Python] 논리연산 논리연산 단락평가 단락평가는 논리연산에서 코드의 앞만 보고 값을 정할 수 있는 경우 뒤는 보지 않고 값을 결정하는 경우를 말한다. 즉, 복잡한 코드를 단순하게 하는 방식이다. 예를 들어, and 연산의 경우 코드의 앞이 거짓이라면 값은 거짓이다. (코드의 앞 뒤 조건이 모두 참이어야 하기 때문임 ) dic = {"Key2" : "Value1"} if "Key1" in dic and dic["Key1"] == "Value1" : print("Key1도 있고, 그 값은 Value1이네") else : print("아니네") bool형과 단락평가에 따른 값 결정 1. and연산 A 가 False 라면 단락평가에 의해 뒤에 값은 보지 않고 모두 False가 된다. 반면, A가 True라면 B의 True/Fals.. 2023. 2. 20.
[Python] 예외 처리 예외 처리 예외 처리는 에러가 발생할 수 있는 코드에서 발생할 에러를 미리 처리하는 과정이다. try-except 구문 대신 if - else를 사용할 수도 있다. ( if - else로 처리할 수 있으면 처리하는 거 권장! ) 예외 처리 구조 try : except : # 예외 처리 예제 def safe_pop_print(list, index) : try: print(list.pop(index)) except IndexError : print('{} index의 값을 가져올 수 없습니다.'.format(index)) # index 벗어난 경우 에러 처리 safe_pop_print([1,2,3], 5) # 예외 처리 예제 -> if-else문 def safe_pop_print(list, index) : .. 2023. 2. 19.
[Python] 모듈 모듈 모듈 (module) 모듈 (module) : 프로그램의 기능을 독립적인 부품으로 분리한 것으로 미리 만들어진 코드를 가져와 쓰는 방법이다. 모듈 불러오는 방법 : import 모듈 사용 방법 : . 모듈의 예 import math : 수학과 관련된 기능 import random : 무작위와 관련된 기능 import urllib.request : 인터넷의 내용을 가져오는 기능 import datetime : 날짜, 시간과 관련된 기능 예제) random 모듈을 이용한 숫자 맞추기 게임 from random import randint print("Welcome to Python Casino!") pc_choice = randint(1,100) playing = True while playing : u.. 2023. 2. 19.
[Python] 반복제어 - while 반복제어 - while while문 while문 : 조건이 참인 경우 계속 실행하는 반복문 (조건이 거짓이면 반복 종료) while문 구조 while : 실행할 문장 ... while selected not in ['가위', '바위', '보']: selected = input('가위, 바위, 보 중에 선택하세요>') while문과 for문 while문은 위에 경우처럼 조건이 참일 때 " 무한 반복 "인 경우에 유용하고, for문은 아래 경우처럼 " 순회 범위가 정해진 " 경우에 유용하다. patterns = ['가위', '바위', '보'] # for문으로 표현 1 for pattern i patterns : print(pattern) # for문으로 표현 2 for i in range(len(patter.. 2023. 2. 19.
[Python] 반복 제어 - For 반복 제어 - For for in 반복문 for 반복문 (for loop) : 필요한 코드들을 리스트 (또는 튜플, 문자열)의 길이만큼 반복해서 실행하는 반복 제어문 for in 반복문 구조 for 변수 in 리스트( 또는 튜플, 문자열 ) : 수행할 문장 1 수행할 문장 2 ... 관습적으로 자료구조(리스트, 튜플) 은 (e)s로 복수형 표현을 쓰고, 변수는 단수형 표현을 사용한다. 하지만, 변수명은 아무거나 상관 없기 때문에 지킬 필요는 없다. # 리스트 list = ['one', 'two', 'three'] for i in list : print(i) # 튜플 tuple = [(1,2), (3,4), (5,6)] for (n1, n2) in tuple : print(n1 + n2) range 함수 .. 2023. 2. 19.
[Python] 리스트와 딕셔너리 비교 리스트와 딕셔너리 비교 자료구조 중 튜플은 제외하고 리스트와 딕셔너리만 비교하는 이유는 앞선 포스트에서 본 것 같이 튜플은 " 불변성 " 이라는 특징이 있기 때문이다. 공통점 리스트(list) 딕셔너리(dictionary) 생성 list = [ 1, 2 ,3 ] dict = { 'one':1, 'two':2 } 호출 list[ 0 ] dict[ 'one' ] 삭제 del( list[ 0 ] ) del( dict[ 'one' ] ) 개수 확인 len( list ) len( dict ) 값 확인 2 in list 'two' in dict.keys( ) 전부 삭제 list.clear( ) dict.clear( ) 차이점 리스트(list) 딕셔너리(dictionary) 순서 삭제 시 순서가 바뀌기 때문에 인덱스.. 2023. 2. 19.
[Python] 자료구조 2 - 딕셔너리, 튜플 자료구조 2 - 딕셔너리, 튜플 딕셔너리 딕셔너리는 여러 값을 저장해 두고 필요한 값을 꺼내 쓰는 키-값쌍 (key value pair) 의 자료구조 ( 많은 속성들을 가지고 있는 데이터를 만들 때 사용) 딕셔너리명 = { 키1 : 값1, 키2 : 값2, ... } * 딕셔너리 키의 값은 숫자, 문자열, boolean형 같은 자료형 외에도 리스트, 튜플, 딕셔너리 같은 자료구조도 가능하다. player = { 'name' : 'nico', 'age' : 12, 'alive' : True, 'fav_food' : ["🍕","🍔"], "friend" : { "name" : "lynn", "fav_food" : "🍎" } } 딕셔너리 값 접근 딕셔너리의 키와 값에 접근하는 방식은 리스트와 비슷하다. (리스트에.. 2023. 2. 19.