데이터 분석 프로그래밍 언어 : 파이썬, R
프로그래밍 환경 : 구글 Colab
Colab 단축키
Ctrl + Enter : 해당 셀 실행. 커서 이동 x
Shift + Enter : 해당 셀 실행. 커서 다음 셀로 이동
Alt + Enter : 해당 셀 실행. 셀 삽입 후 커서 이동
Ctrl + M A : 코드 셀 위에 삽입
Ctrl + M B : 코드 셀 아래 삽입
Ctrl + M D : 셀 지우기
Ctrl + M Y : 코드 셀로 변경
Ctrl + M M : 텍스트 셀로 변경
Ctrl + M Z : 실행 취소
파이썬 기초
콜렉션 자료형
특징 | 튜플(Tuple) | 리스트(List) | 세트(Set) | 딕셔너리(Dictionary) |
순서 | 있음 | 있음 | 없음 | 있음 |
가변성 | 불변 | 가변 | 가변 | 가변 |
중복 허용 | 허용 | 허용 | 불허 | 키 : 불허 / 값 : 허용 |
표현 방식 | '( )' | '[ ]' | '{ }' (또는 'set()') | '{ }' |
사용 사례 | 변경되지 않아야 할 값의 묶음 | 동적 데이터 목록 | 고유한 값의 집합 | 키-값 쌍으로 데이터를 저장할 때 |
1. 튜플(Tuple)
순서가 있는 데이터의 목록
2. 세트(Set)
데이터 중복을 허용하지 않으며 데이터 입력 순서는 중요하지 않음
set_1 = {1, 2, 3, '가', '나', '다'}
set_1.add('추가')
print(set_1)
set_1.remove('가')
print(set_1)
set_1.clear( )
print(set_1)
- 실행결과
세트의 데이터는 유일하기 때문에 순서는 중요하지 않음. 따라서 데이터의 순서가 예시와 다르게 출력될 수 있음.
{'다', 1, 2, 3, '나', '가', '추가'}
{'다', 1, 2, 3, '나', '추가'}
set()
3. 리스트(List)
데이터를 다루기 편리하여 매우 자주 활용되는 콜렉션 자료형
추가(Append), 삽입(Insert), 삭제(Remove), 정렬(Sort)
#리스트 생성하기
list_1 = [1, 2, 3]
print(list_1)
#리스트 변경하기
list_1[2] = 9999
print(list_1)
list_1.append(100)
print(list_1)
list_1.remove(9999)
print(list_1)
list_1.insert(0,777) #인덱스 0
print(list_1)
- 실행결과
[1, 2, 3]
[1, 2, 9999]
[1, 2, 9999, 100]
[1, 2, 100]
[777, 1, 2, 100]
- 리스트 데이터 정렬
list_2 = [897, 2, 1, 4, 99, 5.24, 17]
print(list_1)
#뒤집기
list_2.reverse( )
print(list_2)
#오름차순 정렬하기
list_2.sort( )
print(list_2)
#내림차순 정렬하기
list_2.sort(reverse=True)
print(list_2)
- 실행결과
[897, 2, 1, 4, 99, 5.24, 17]
[17, 5.24, 99, 4, 1, 2, 897]
[1, 2, 4, 5.24, 17, 99, 897]
[897, 99, 17, 5.24, 4, 2, 1]
4. 딕셔너리(Dictionary)
값(value)과 키(key)가 한 쌍을 이루어 요소가 되는 자료구조
키를 이용하여 쌍을 이루는 값에 접근할 수 있으므로 신속하게 값을 찾아내야 할 때 사용
#딕셔너리 생성하기
dict_1 = {'name': '홍길동', 'birth':1990}
print(dict_1['birth'])
#키와 값 추가하기
dict_1['weight'] = 60.5
print(dict_1)
#키와 값을 수정하기
dict_1.update({'weight':67.8})
print(dict_1)
#딕셔너리 값 변경하기
dict_1['hobby'] = ['축구', '등산']
print(dict_1)
#데이터 삭제하기
del dict_1['weight']
del dict_1['birth']
print(dict_1)
- 실행결과
1990
{'name': '홍길동', 'birth': 1990, 'weight': 60.5}
{'name': '홍길동', 'birth': 1990, 'weight': 67.8}
{'name': '홍길동', 'birth': 1990, 'weight': 67.8, 'hobby': ['축구', '등산']}
{'name': '홍길동', 'hobby': ['축구', '등산']}
중요 실습 코드 정리
#논리연산자 2-4
박지성, 손흥민, 이강인의 이름을 한글자씩 분류하여 변수에 저장하고, 저장된 변수에 ‘내 이름의 성’이 들어있는가를 판단하는 프로그램을 작성하시오.
name1 = '조'
football = ['박', '지', '성', '손', '흥', '민', '이', '강', '인']
print(name1 in football)
#반복문 2-9
5단부터 7단까지 출력되도록 while문과 for문을 사용하고자 합니다. 아래 프로그램을 완성하시오.
a = 5
while a <= 7:
for i in range(1, 10):
print(str(a) + ' X ' + str(i) + ' = ' + str(i*a))
print("----------------")
a = a + 1
#자료형 찾기 2-18
아래의 데이터가 접은글과 같이 실행되도록 프로그램을 완성하시오.
('1', 20, False)
{1, 2, 3, '가', '나', '다'}
[1, 2, 3, '가', '나', '다', 1, 2]
{'가': 1, '나': '2'}
('1', 20, False) <class 'tuple'>
{'다', 1, 2, 3, '나', '가'} <class 'set'>
[1, 2, 3, '가', '나', '다', 1, 2] <class 'list'>
{'가': 1, '나': '2'} <class 'dict'>
a1 = ('1', 20, False)
a2 = {1, 2, 3, '가', '나', '다'}
a3 = [1, 2, 3, '가', '나', '다', 1, 2]
a4 = {'가':1, '나':'2'}
print(a1, type(a1))
print(a2, type(a2))
print(a3, type(a3))
print(a4, type(a4))
#3단, 4단, 5단 출력 2-21
함수를 이용하여 3단, 4단, 5단을 출력하도록 아래 프로그램을 완성하시오.
def gugudan(gugu):
for i in gugu:
for j in range(1, 10):
print(str(i) + ' X ' + str(j) + ' = ' + str(i*j))
print("-------------")
gugu = [3, 4, 5]
print(gugudan(gugu))
#세트 변경 및 복제 2-23
자신의 이름을 세트의 자료형으로 저장하고, 전화번호를 추가하는 프로그램입니다
name_1 = {'조', '성', '은'}
name_1.add('02-950-7676')
print(name_1)
name_1.remove('조')
print(name_1)
name_1.clear( )
print(name_1)
#리스트 2-24
앞 장의 세트와 같이 동일하게 자신의 이름을 리스트로 저장하고, 전화번호를 추가한 후, 자신의 성을 삭제하여 출력하도록 빈칸을 채우시오.
name_1 = ['조', '성', '은']
name_1.append ('02-950-7626')
print(name_1)
name_1.remove ('조')
print(name_1)
name_1.clear ( )
print(name_1)
#자판기 프로그램 2-25
사용자에게 숫자를 입력 받고 숫자가 짝수인지 판별하는 프로그램 만들기
• 사용자로부터 숫자를 입력 받음
• 사용자가 입력한 값이 x이면 2로 나누어 나머지가 0인가를 판단
• 나머지가 0이면 짝수 아니면 홀수
• 짝수인지 판별하는 함수 def check_even_num(x):
def check_even_num(x):
if x % 2 == 0: #x가 2로 나누어 떨어지면 짝수
return True
else:
return False
number = int(input('판별할 자연수를 입력하세요:'))
if check_even_num(number):
print('짝수')
else:
print('홀수')
'데이터분석' 카테고리의 다른 글
[데이터 분석] chapter3. 데이터 분석을 위한 파일 입출력 (4) | 2024.10.13 |
---|