본문 바로가기
728x90
반응형

전체 글316

[복습] Python 적용함수(map함수, map메서드, applymap, apply) (3) 1. map 함수 - 1차원 원소별 반복 - 여러 객체 동시 fetch 가능 2. map 메서드 - 1차원 원소별 반복 - 하나의 객체(Series)만 fetch 가능 3. applymap 메서드 - 2차원 원소별 반복 문법 데이터프레임.applymap(적용함수) 예제) card_history.csv 파일에 대해 모든 컬럼을 숫자 컬럼으로 변경하여라 참고로 각 컬럼별 데이터타입 확인하는 방법은 card.dtypes 이다. 데이터프레임에서 string은 object로 표현된다. 4. apply - 2차원 행별/열별 적용 - axis와 함께 행별/열별 fetch에 대한 함수 적용을 도와줌 문법 데이터프레임.apply(적용함수, axis = 0) 0이 default임 예제) 아래 데이터에 대해 각각 행별/열별.. 2024. 1. 13.
[복습] Python 조건문 파이썬에서 조건문은 조건의 결과가 참인지 거짓인지에 따른 연산/명령 처리를 다르게 할 때 사용한다. 1. if 문 - 동시에 여러 논리값의 전달이 불가함(여러 원소에 대한 조건 검사 불가) → 그래서 항상 반복문과 함께 사용됨 문법 if 조건 : 참일때리턴 else : 거짓일때리턴 if 조건1 : 조건1참일때리턴 elif 조건2: 조건2참일때리턴 else : 모든 조건이 거짓일 때 리턴 예) 다음의 값이 5보다 큰 경우 A, 작거나 같은 경우 B s1= Series([1, 2, 10, 8]) 이런 식은 불가하다. 반복문과 함께 사용하여야 한다. 2. np.where - 벡터화 내장된 if 문 기능 - 원소별 반복 if문 적용 가능 - R의 ifelse문과 유사 문법 np.where(조건, 참리턴, 거짓리.. 2024. 1. 13.
[실습문제] 2024. 1. 11.(목) (4문제) 1. professor.csv 파일을 불러온 뒤 다음을 수행하여라(컬럼명은 제외) 1) 입사연도가 1990년 이전인 교수는 PAY의 15% 인상, 90년 포함 이후인 경우는 10% 인상하여 출력 pro.columns 는 pro라는 데이터프레임에 어떤 컬럼이 있는지 확인할 수 있는 메서드이다. 저 중에서 입사연도와 급여인 HIREDATE와 PAY를 추출할 것이다. 이렇게 하면 Series 자료구조로 추출이 된다. 첫 번째 print 방식은 문자열 색인이 아니다. 시리즈 자료구조에서는 네 개의 행이 추출이 된다. 그러므로 하나의 자료를 추출한 뒤에 거기서 문자열 색인을 하면 1980이라는 문자열 추출이 가능하다. 이걸 함수로 적용하여 보자. 위와 같이 쓰면 이상한 답이 출력이 된다. PAY를 하나하나 리턴받.. 2024. 1. 13.
[Python] profile 만들기 파이썬의 profile은 매번 호출하는 함수를 환경설정처럼 만들어 두는 것이다 정리하면 다음과 같다. - 파이썬이 구동이 될 때 실행되는 명령어를 저장하는 환경파일 - 계속 호출해야하는 모듈이나 함수를 미리 저장해두고 실행해서 바로 로딩 가능 - 너무 무겁게 구성할 시 프로파일 실행 시간이 늘어날 수 있음 생성 새로운 파일 open → 작성 → 저장(default directory에 저장할 것) 실행 %run profile_name.py 내가 Spyder IDE에 저장해놓은 profile은 다음과 같다. 이름은 my_profile.py로 저장해두었으며(default directory에 저장해야 함), 새 창을 실행할 때 맨 위에 %run my_profile.py 로 넣어두고 구동하면 된다. 2024. 1. 12.
[복습] Python 적용함수(map함수, map메서드, applymap) (2) https://metime.tistory.com/243 위에서는 간단히 적용함수에 대해 알아보았고 오늘은 map함수와 map메서드에 대하여 공부하였다. 1. map 함수 2. map 메서드 - 1차원 객체의 원소별 적용 - Series에서만 직접 호출 가능함 - 여러 객체 동시에 fetch불가함(대상이 맨 앞으로 빠지므로), 즉 하나의 객체만 fetch 가능 s1.map 이런식으로 대상 객체가 맨 앞에 빠지므로 그 해당 객체만 fetch가 가능함. 사용법 s1.map(func) 예제) professor.csv 파일을 읽고 이메일 아이디를 추출하여라. split은 문자에만 바로 적용이 가능하다. 아래와 같이 적용하는 경우 에러메시지를 잘 읽어보자. Series는 split이 적용이 되지 않는다는 메시지가 .. 2024. 1. 11.
[복습] Python 자료구조(2) (딕셔너리 위주) https://metime.tistory.com/228 위 게시글에 이어 자료구조를 계속해서 공부하였다. 0. 스칼라 1. 리스트(튜플) 슬라이스 색인하면 차원축소가 방지된다. 튜플도 1차원 자료구조 중 하나인데 거의 쓰지 않는다. 튜플은 소괄호로 정의된다. 튜플은 위처럼 수정 불가하다. read-only 객체이기 때문이다. 2. 딕셔너리 - 1차원 - key-value 자료구조 - 나열되는 데이터에 이름을 부여하는 방식(빠르게 데이터를 찾고 수정할 수 있음) dict() 으로 정의하거나 {} 중괄호로 정의한다 (리스트는 대괄호, 튜플은 소괄호) key-value 구조를 1차원으로 표현하면 딕셔너리, 2차원 구조로 표현하면 데이터프레임이 된다. 3. 배열 - 다차원구조 - 단 하나의 데이터 타입으로 구성.. 2024. 1. 11.
[복습] Python 반복 제어문(continue, break, exit) 1. continue (in R next) - 특정 조건에 대해서만 반복문에 대한 수행을 스킵하고자 할 떄 예) cmd1 # 한 번 수행 for i in range(1, 11): cmd2 # 열 번 수행 if i == 5: continue # continue를 포함하고 있는 for문 내부에 있는 문장만 스킵됨 cmd3 # 따라서 9번 수행 cmd4 # 한 번 수행 예) cmd1 # 한 번 수행 for i in range(1,11): cmd2 # 10번 수행 for j in range(1:6): cmd3 # 50번 수행(10 * 5번) if i == 5 : continue cmd4 # 40번 수행(10 * 4번) cmd5 # 10번 수행 cmd6 # 한 번 수행 2. break (in R break) - .. 2024. 1. 11.
[실습문제] 2024. 1. 10.(수) (2문제) 1. 구구단 출력하기 구구단을 다음과 같이 출력하여라. 2. 아래와 같이 ★로 다이아몬드 모양을 출력하여라. a1 = ' ' a2 = '\u2605' print(a1*4+a2*1) print(a1*3+a2*3) print(a1*2+a2*5) print(a1*(5-i)+a2*(2*i-1)) # 별이 많아지는 방향 i = 1 while i 2024. 1. 11.
[복습] Python 파이썬 축약형 1. 함수 정의 def → lambda 2. 리스트 내포 표현(List Comprehension) for + list append → [리턴 for i in 반복대상] (3항 다항식) 예) 다음의 리스트에 대해 1을 더한 값 출력 1) for문 2) 리스트 내포 3. 연산 i = 0 i = i + 1 # i += 1 i = i - 10 # i -= 10 예) 다음의 리스트에 대하여 1 더한 값을 출력하여라. 2024. 1. 10.
[복습] Python 반복문(for, while) 반복문: 동일한 명령 처리를 여러 대상에 반복해야 할 경우 사용 1. for: 정해져있는 객체나 횟수가 정해져 있는 경우 문법 for 반복변수 in 대상: 반복할 문장 ..... for문은 들여쓰기가 중요하며, 내부에서 엔터로 줄바꿈을 하는 경우 for문 종료로 인식하므로 엔터를 넣지 않도록 한다. 예) 1~10까지 출력 예) 1~100까지 홀수 출력 예) 다음의 리스트에서 10을 더한 값 리턴 l1 = [1, 2, 3, 4] for 문에서 l1이 i 로 fetch 되고, i+10이 적용이 되고, res.append로 결합이 된다. 예) 다음의 리스트에서 이메일 아이디를 추출하여라. l3 = ['abc@gmail.com', 'a1234@naver.com'] 예) 두 리스트의 합을 구하여라. l1 = [1.. 2024. 1. 10.
[복습] Python 사용자 정의 함수(2) 사용자 정의 함수에 대해서는 앞서 다음과 같이 공부한 적이 있다. https://metime.tistory.com/233 위 내용에 대하여 좀 더 자세히 배웠다. 사용자 정의 함수 - 함수: input과 output의 관계를 표현한 객체 - 사용자가 직접 함수 생성 가능(코드의 반복을 줄이거나 적용함수에 전달하기 위해 주로 생성) 1. lambda - 언어적 표현이 제한적(단순한 input과 output의 관계만을 전달함. 변수의 선언 불가(새로운 객체 생성 불가)) - 반복문 / 조건문 전달이 불편함(가능은 한데...) 문법 함수명 = lambda input_value : output_value 함수명 = lambda input_value : 참리턴 if 조건 else 거짓리턴 함수명 = lambda .. 2024. 1. 10.
[실습문제] 2024. 1. 9.(화) (2문제) 1. 다음의 리스트를 생성 후 연산하여라 ename = ['smith','allen','king'] jumin = ['8812111223928','8905042323343','90050612343432'] tel=['02)345-4958','031)334-0948','055)394-9050','063)473-3853'] vid=['2007(1)','2007(2)','2007(3)','2007(4)'] 1) ename에서 i를 포함하는지 여부 확인 우선, in 을 사용하면 아래와 같이 사용할 수 있다. in은 위처럼 원소의 부분집합을 물어보는 행위이다. 파이썬에서는 문자열의 구성요소 또한 하나하나 원소로 인지를 한다. 따라서 다음과 같이 사용이 가능하다 그러나 위의 리스트를 사용하여 'i' in ename.. 2024. 1. 10.
[복습] Python 적용함수(1) 적용함수에 대하여 오늘은 간단히 언급하고 넘어갔다. 1. map: 1차원 객체의 원소별 반복 1) map 함수 2) map 메서드 2. apply: 2차원 객체의 행별/열별 반복(2차원 객체의 원소별 반복은 불가) 3. applymap: 2차원 객체의 원소별 반복 예시) card = pd.read_csv('card_history.csv', encoding = 'cp949') f1 = lambda x : str(x).replace(',', '') card = card.applymap(f1) 2024. 1. 10.
[복습] Python 형 변환 함수 및 몇 가지 연습문제 데이터 타입(문자/숫자(정수, 실수) / 날짜)을 변환하는 함수 - 파이썬에서는 날짜로의 형 변환 함수를 제공해주지 않음 → 날짜 함수 사용 - 묵시적 형 변환 불가 1. int 2. float 3. str 연습문제 ename = ['SMITH', 'ALLEN', 'SCOTT'] tel = ['02)345-6789', '031)333-1111', '055)999-2222'] sal = ['8,800', '9,600', '5,600'] comm = [300, 200, 500] 1. 이름을 모두 소문자로 변경하여라. 2. 전화번호에서 국번(345, 333, 999)을 추출하여라. 3. 10% 인상된 급여를 추출하여라. 4. comm을 소수점 둘 째 자리로 표현하여라. 2024. 1. 10.
[복습] Python 문자열 메서드 모든 메서드 목록은 dir 함수에 객체를 전달한다. import pandas as pd from pandas import Series dir(pd) # 함수 목록 dir(Series) # 시리즈가 호출 가능한 메서드 목록 dir(str) # 문자열이 호출 가능한 메서드 목록 dir에 객체를 주게 되면 객체에 전달 가능한 메서드가 나옴 1. 대소 치환 upper: 대문자 lower: 소문자 title: camel 표기법 2. 문자열 추출(메서드 아님) 색인으로 가능 a1[:3] # 0부터 2까지 라는 뜻. 앞에서 3개. 시작범위 또는 끝범위 생략 가능. 둘 다 생략도 가능 3. 시작 / 끝 여부 startswith / endswith 4. 문자열 포함 여부 포함자 in 대상 → 하나의 논리값만 출력 단순히.. 2024. 1. 9.
728x90
반응형