일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 백준
- 유데미코리아
- ndarray
- 스타터스부트캠프
- 데이터드리븐
- 정렬
- 판다스
- python
- 취업부트캠프
- 그리디 알고리즘
- matplotlb
- DataFrame
- 코딩테스트
- 넘파이
- 시각화
- 유데미
- 유데미부트캠프
- pandas
- 태블로
- Leetcode
- 데이터시각화
- 브루트포스 알고리즘
- Tableau
- Til
- 데이터프레임
- 데이터분석
- numpy
- 파이썬
- 유데미큐레이션
- 부트캠프후기
- Today
- Total
Diary, Data, IT
[TIL] 2일차 TIL(20230207) - 딕셔너리, 함수, 모듈, 시리즈 본문
[TIL] 2일차 TIL(20230207) - 딕셔너리, 함수, 모듈
1. 딕셔너리를 만드는 여러가지 방법
- {key1: value1, key2:value2}
- dict(key1 = value1, key2 = value2)
- dict(zip(key_list, value_list))
- dict([(key1, value1), (key2, value2)])
*딕셔너리에서는 중복된 key를 사용할 수 없다,
2. 딕셔너리에서 값 추출, 오류처리
- dict1.get(key, msg): 딕셔너리에서 key에 해당하는 value를 가져옴
존재하지 않는 key로 추출 시도할 경우 출력할 메세지를 설정할 수 있음, 오류 발생 방지
3. 딕셔너리에 항목 추가/수정하기
- dict1.setdefault(키, 값): 새로운 키와 값을 지정해줄 수 있음. 이미 들어있는 키의 값은 수정 불가
- dict1.update(key1=value1, key2=value2): 키가 존재하면 수정, 존재하지 않으면 추가
update안에 key와 value를 지정하는 방법은 딕셔너리를 만드는 방법과 동일
4. 딕셔너리에서 항목 삭제
- del dict1[key]
- dict1.pop(key, default_value): 해당 키의 항목 반환하고 삭제, 키가 존재하지 않으면 기본값 반환
- dict1.clear(): 딕셔너리의 모든 항목 삭제
5. 딕셔너리 정렬하기
- sorted(dict1.items())
6. 함수 인수의 종류
- 1) 위치인수: 기본적인 인수 전달방법
- 2) 디폴트인수: 함수를 정의할 때 기본값을 지정하여 사용
- 3) 키워드인수: 함수를 호출할 때 인수의 이름을 명시하여 순서를 바꾸어 전달할 수 있음
*디폴트인수와 키워드인수는 위치인수보다 앞에 위치할 수 없음
- 4) 가변인수: 인수의 갯수를 가변적으로 활용하기 위함. 매개변수 앞에 *를 붙이면 여러개의 인수를 하나의 튜플로 받음
ex) def myfunc(*args)
7. 함수 안에서 전역변수의 값 변경하기
- 함수 내에서 global 키워드를 사용해 전역변수를 사용할 것을 선언해준 후 작성
global을 사용하지 않으면 동일한 이름의 지역변수가 생성되어 사용됨
ex) def myfunc():
global num
8. 람다표현식과 map함수
8.1 람다표현식
- lambda 매개변수1, 매개변수2, ...: 수식
ex) (lambda n1, n2: n1+n2)(3, 5)
- 조건부 표현 가능: lambda 매개변수들: 식1 if 조건식 else 식2
ex) lambda x:float(x) if x%2 == 0 else str(x)
8.2 map함수
- 리스트나 튜플의 각 요소를 지정된 함수로 처리해주는 함수
- map내의 함수는 람다표현식으로도 많이 사용
- list(map(함수, 리스트))
ex) list(map(int, li1))
ex) list(map(lambda x:x+1, li1))
9. 클래스
- 속성은 인자로 지정하고, 기능은 함수(메소드)로 구현
class 클래스명:
def __init__(self, 인자1, 인자2, 인자3):
self.속성1 = 인자1
self.속성2 = 인자2
self.속성3 = 인자3
def func1(self):
기능 내용
def func2(self):
기능 내용
- 클래스를 객체에 할당, 객체 = 클래스(속성1, 속성2, 속성3, ...)
- dir(객체): 객체의 메소드 목록 조회
10. math 모듈
- math.ceil: 올림하여 정수로 만듦
- math.floor: 내림하여 정수로 만듦
- math.sqrt
- math.factorial
- math.pi: 원주율
11. random 모듈
11.1 랜덤 정수 구하기
- random.randint(시작값, 끝값): 시작값 ~ 끝값 사이의 랜덤 정수 추출(끝값 포함)
- random.randrange(시작값, 끝값): 시작값 ~ 끝값 사이의 랜덤 정수 추출(끝값 미포함), 시작값 default = 0
11.2 랜덤 실수 구하기
- random.random(): 0과 1사이의 랜덤 실수 추출
- random.uniform(시작값, 끝값): 시작값 ~ 끝값 사이의 랜덤 실수 추출(끝값 미포함)
11.3 시퀀스 데이터에서 무작위 추출
- random.choice(시퀀스)
- random.sample(시퀀스, n): 시퀀스에서 무작위로 n개의 요소 추출
- random.shuffle(시퀀스): 원본을 섞고 리턴값은 없음. 문자열은 사용 불가
12. datetime 모듈
- datetime.datetime.now(): 현재 날짜와 시각 가져오기
- datetime형식으로 저장된 변수의 년, 월, 일, 시각에 각각 접근할 수 있음
변수.year, 변수.month, 변수.day, 변수.hour, 변수.minute, 변수.second
- 변수.strftime(포맷): 포맷에 맞게 출력 ex) '%Y.%m.%d %H:%M:%S')
- 변수 + datetime.timedelta(더할시간): year를 제외한 다른 단위들로 시간을 더하거나 뺄 수 있음
더할시간의 종류: weeks, days, hours, minutes, seconds
13. time 모듈
- time,localtime(): 현재 날짜와 시각 가져오기
- time형식으로 지정된 변수의 년, 월, 일, 시각에 각각 접근할 수 있음
변수.tm_year, 변수.tm_mon, 변수.tm_mday, 변수.tm_hour, 변수.tm_min, 변수.tm_sec
- time.sleep(초): 프로그램의 실행을 해당 초동안 일시정지
14. 파이썬 내장함수 확인
dir(__builtins__)
15. 데이터 확인하기
- df.sample(n): n개의 데이터를 랜덤으로 보여줌, default = 1개
- df.sample(frac = 비율): 지정한 비율의 데이터를 출력
- df.nlargest(갯수, 칼럼명): 칼럼의 값이 높은 순으로 갯수만큼 출력
- df.nsmallest(갯수, 칼럼명): 칼럼의 값이 낮은 순으로 갯수만큼 출력
16. 데이터프레임에서 특정 값을 가진 데이터만 추출
- df[col].isin(값리스트)
17. 시리즈의 통계값 사용하기
- 시리즈의 value가 모두 숫자형일때 사용할 수 있음
- 평균: series.mean()
- 최소값, 최대값: series.min(), series.max()
- 중앙값: series.median()
- 표준편차: series.std()
- 요약통계량: series.describe()
18. 시리즈 주요 메서드
- 값 정렬: series.sort_values(ascending = True)
- 인덱스 정렬: series.sort_index()
- 인덱스 리셋: series.reset_index()
- 특정 값을 가진 시리즈 값을 교체: replace(찾을 값, 교체할 값)
- 시리즈를 데이터프레임으로 변환: series.to_frame()
'STARTERS > TIL' 카테고리의 다른 글
[TIL] 6일차 TIL(20230213) - 데이터 시각화 및 활용 (0) | 2023.02.13 |
---|---|
[TIL] 5일차 TIL(20230210) - Matplotlib를 이용한 데이터 시각화 (0) | 2023.02.10 |
[TIL] 4일차 TIL(20230209) - 데이터 시각화, 서울시 물가정보 분석 (1) | 2023.02.09 |
[TIL] 3일차 TIL(20230208) - 데이터프레임, 전처리 (0) | 2023.02.08 |
[TIL] 1일차 TIL(20230206) - 파이썬 기초, 자료형 (0) | 2023.02.06 |