데이터 규모에 따른 스킬들
- 엑셀 : 사용이 간편, 최대 데이터 약 100만 rows, 만들어진 기능만 사용 가능, 저속
- 파이썬 : 데이터를 RAM 용량만큼 핸들링, 기능을 만들어서 사용 가능, 엑셀에 비해 고속
- DASK : 가상 메모리 이용 방식, DB 구축을 하지 않더라도 RAM 용량보다 큰 데이터 핸들링 가능, 파이썬에 비해 저속
- 데이터베이스 : SQL 사용, 데이터를 SSD(HDD) 용량만큼 핸들링, 고속
- Spark : Scala 언어를 사용하여 빅데이터 핸들링 가능, 인메모리 기반의 대용량 데이터 고속 처리 엔진으로 범용 분산 클러스터 컴퓨팅 프레임워크. Python도 사용 가능하지만 성능을 위해 통상 Scala 사용
연산자
- 산술 : 데이터와 데이터의 연산으로 데이터 결괏값이 나온다. 종류 : **, *, /, //, %, +, -
- 할당 : 식별자 <산술>= 데이터 형태. ex) data += 5 => data 값 5 증가
- 비교 : 데이터와 데이터의 연산으로 논리값이 나온다. 종류 : ==, !=, >, <, >=, <=
- 논리 : 논리값과 논리값의 연산으로 논리값이 나온다. 종류 : not, and, or
- 멤버 : 특정 데이터가 컬렉션 데이터에 포함되었는지 확인하여 결과로 논리값 출력 . 종류 : in, not in
같은 연산자를 사용하더라도 데이터 타입에 따라 수행되는 연산이 다르다.
d1, d2, d3, d4, d5, d6 = 1, 2, '3', '4', 'E', 'F'
print(d1 + d2)
print(d3 + d4)
print(d5 + d6)
# 실행 결과
3
34
EF
d3과 d4의 + 연산 결과 7이 아님을 알 수 있다.
'3'과 '4'는 숫자가 아닌 문자열이기 때문.
논리연산자 우선순위 : not > and > or
# and는 조건이 모두 True일 경우에만 True
# or는 조건 중 최소 하나가 True라면 True
a = not False
b = not True or True # not이 or보다 우선한다
c = False or True
d = (10 > 5) or (10 > 15) # True or False
print(a, b, c, d)
# 실행 결과
True True True True
멤버연산자 in과 not in : 특정 데이터 포함 여부를 논리값으로 반환
# in의 경우 포함하면 True, not in의 경우 포함하지 않으면 True
data = list('ABC') # ['A', 'B', 'C']
print('B' in data, 'D' in data, 'D' not in data)
# 실행 결과
True False True
삼항연산자 : 참인경우 값 if 조건 else 거짓인 경우 값
여러 라인과 들여쓰기로 구성된 if~else문을 한 줄로 쓸 수 있다
# 삼항연산자 사용 전
balance, draw = 10000, 12000
if balance >= draw:
result = "인출가능"
else:
result = "인출불가"
# 삼항연산자 사용 후
balance, draw = 10000, 2000
result = "인출가능" if balance >= draw else "인출불가"
enumerate() 함수 : 순서가 있는 자료형(list, set, tuple, dictionary, string)을 입력으로 받아 인덱스 값을 포함하는 enumerate 객체를 리턴한다. 보통 반복문과 함께 사용한다.
users = ['홍길동', '김파이', '정이썬']
for idx, user in enumerate(users):
print(idx, user)
# 실행 결과
0 홍길동
1 김파이
2 정이썬
zip() 함수 : 두 개 이상의 인자를 전달하여 같은 인덱스의 데이터끼리 튜플로 묶은 zip 타입 객체를 리턴한다.
players = ['손흥민', '메시', '호날두']
goals = [30, 20, 10]
games = [50, 30, 40, 20]
# 3개의 list를 zip함수에 전달
for data in zip(players, goals, games):
print(data)
#실행 결과
('손흥민', 30, 50)
('메시', 20, 30)
('호날두', 10, 40) # games의 마지막 데이터 20은 인덱스 짝이 맞지 않아 출력되지 않는다.
+ 개발자도구에서 html을 수정하여 재미로 가짜 뉴스 만들기
크롬 개발자도구를 통해 뉴스 페이지의 html 코드를 수정하여 가짜 뉴스를 만들어 봤다.
'AI SCHOOL > TIL' 카테고리의 다른 글
[DAY 9] 클래스, 객체, 메소드 (2) | 2023.01.05 |
---|---|
[DAY 8] parameter와 argument, lambda, list comprehension (0) | 2023.01.05 |
[DAY 6] 코랩, 리스트와 튜플, 깊은 복사 (0) | 2023.01.05 |
[DAY 5] Week 1 Insight Day (0) | 2023.01.05 |
[DAY 4] 크롤링, BeautifulSoup, API 활용 (0) | 2023.01.04 |
댓글