성동1기 전Z전능 데이터 분석가 과정
[성동1기 전Z전능 데이터 분석가] 30일차 python 기초 - 자료형
데이터분석가_안졍
2023. 11. 24. 10:19
728x90
파이썬이란 무엇인가
소프트웨어 개발, CUI/웹/DB프로그래밍, 데이터/수치 분석
데이터/ 수치분석: 다양한 모듈을 통해 쉽고 효과적으로 데이터 분석을 할 수 있다.
파이썬을 쓰려는 이유
- 쉽다. 파이썬의 문법은 우리가 사용하는 자연어와 유사한 문법 구조를 갖고 있다.
- 의도적으로 간결하게 만들어진 언어. 읽고 쓰기 간편함
- 누구나 무료로 사용/복제/배포/수정 및 상업화가 가능한 오픈 소스 언어
- 사용 가능한 내장 함수 및 외부 라이브러리 (모듈) 굉장히 많음. 다른 다양한 언어들과도 쉽게 융합되는 강점
통계분석/ 시각화/ 머신러닝 모델링(예측 모델을 만들 수 있다.)/ 비정형 데이터 분석 가능
파이썬 기초 - 자료형
변수
- 다양한 자료형의 값을 저장하는 공간이다.
- 변수명을 정할 때는 알아보기 쉽도록 의미를 담아 정한다. 영문자, 숫자, 언더바(_)를 조합해 정하며, 반드시 문자로 시작해야 한다.
자료형
1) 숫자
| 항목 | 연산자 |
| 사칙연산 | +, -, *, / |
| 나머지 연산 | % |
| 몫 연산 | // |
| 제곱연산 | ** |
# 홍길동씨의 국어점수 80, 영어점수 75, 수학점수 55 평균을 구하시오
a = 80
b = 75
c = 55
(80+75+55)/3
70.0
# 13이 홀수인지 짝수인지 판별할 수 있는 방법은?
13%2
1
2) 문자열: 따옴표로 둘러싸여 있으면 모두 문자열이다.
# 연속된 따옴표 3개 사용하기
multiline = '''호호호
하하하'''
print(multiline)
호호호 하하하
- 문자열의 연산 가능하다.
# len()은 괄호 안 문자열의 길이를 출력하는 함수다.
a = " "
len(a)
1
- 문자열 인덱싱과 슬라이스
파이썬 배열의 색인은 0부터 시작한다.
a[n] = a의 n번재의 값
문자열을 뒤에서부터 읽을 때는 마이너스(-) 기호를 붙인다.
# "20010331Rainy" 문자열을 연도(2001), 월일(0331), 날씨(Rainy)로 각각 나누려면?
a= "20010331Rainy"
year =a[:4]
day = a[4:8]
weather = a[-5:]
year, day, weather
('2001', '0331', 'Rainy')
# pithon -> python바꿔라
a = "pithon"
a[0]+ "y"+a[-4:]
python
- 문자열 포매팅
문자열 안에 변수(변하는 값)을 삽입하는 것
| 코드 | 설명 |
| %s | 문자열(String) |
| %c | 문자 1개(Character) |
| %d | 정수(Interger) |
| %f | 부동소수(Floating-point) |
| %o | 8진수 |
| %x | 16진수 |
| %% | %문자 자체 |
#문자열 끝에 .format()함수를 사용하면 좀 더 발전된 스타일로 문자열 포멧 지정 가능
1.
number = 10
day = "three"
i ate {0} apples so i was sick for{1} days".format(number, day)
i ate 10 apples so i was sick for three days
2.
"i ate {number} apples so i was sick for {day} days".format(number = 10, day = "three")
i ate 10 apples so i was sick for three days
- 문자열의 내장 함수
| 함수형 | 설명 |
| a.count(b) | a 문자열 중 문자 b의 개수 변환 |
| a.find(b) | a문자열 중 문자 b가 처음으로 나온 위치 변환 |
| b.join(a) | a문자열의 각각의 문자 사이에 b삽입 |
| a.upper() | a문자열의 소문자를 대문자로 변환 |
| a.lower() | a문자열의 대문자를 소문자로 변환 |
| a.strip() | a문자열의 양 옆 공백 모두 제거 |
| a.replace(b,c) | a문자열의 b문자를 c문자로 대체 |
| a.split(b) | b문자를 기준으로 a문자열 분할 |
# join()함수
",".join("abcd")
a,b,c,d
# a.lstrip() 왼쪽 공백 제거
# a.rstrip() 오른쪽 공백 제거
# 주민번호 881120-1068234 연월일과 뒤의 숫자 부분으로 나누어 출력해보자
a = "881120-1068234"
a.split("-")
birth = "19"+a.split("-")[0]
num = a[7:]
birth
19881120
num
1068234
# 실습 주민번호 881120-1068234 성별을 나타내는 숫자
a = "881120-1068234"
a[7]
'1'
#문자열 "a:b:c:d"를 a#b#c#d로 바꾸시오
a = "a:b:c:d"
a.replace(":","#")
a#b#c#d
3) 리스트: 여러 요소의 모음
- 리스트 만들기
리스트명 = [요소1, 요소2, 요소3, ...]
대괄호로 감싸주고 각 요솟값은 쉼표로 구분한다.
파이썬의 리스트 안에는 어떠한 자료형도 포함시킬 수 있다.
중첩리스트라고 리스트 e와 같이 리스트 안에 또 다른 리스트를 요솟값으로 가질 수 있다.
- 리스트 슬라이싱, 연산 가능
- 리스트 내장 함수
| 함수명 | 설명 |
| append(x) | 리스트의 맨 마지막에 x를 추가 |
| sort() | 리스트의 요소를 순서대로 정렬 |
| reverse() | 리스트를 역순으로 변환 |
| index(x) | 리스트에 x값이 있으면 x의 인덱스 값을 리턴 |
| insert(a,b) | 리스트의 a번째 위치에 b를 삽입 |
| remove(x) | 리스트에서 첫 번째로 나오는 x 를 삭제 |
| pop() | 리스트의 맨 마지막 요소를 리턴, 해당 요소 삭제 |
| count(x) | 리스트 안에 x요소의 개수를 리턴 |
| extend(x) | 리스트에 x 리스트 더하기 |
# 인덱스 반환하기
a = [1,2,3]
a.index(3)
2
# 리스트 요소 꺼내기
a= [1,2,3]
a.pop()
=> 3
a
[1, 2]
# 리스트 확장
a= [1,2,3]
a.extend([4,5])
a
[1, 2, 3, 4, 5]
#실습 [1,3,5,4,2]라는 리스트를 [5,4,3,2,1]로 만들어보자
a = [1,3,5,4,2]
a.sort(reverse=True)
a
[5, 4, 3, 2, 1]
#["LIfe", "is", "too", "short"]라는 리스트를 "Life is too short"라는 문자열로 만들어보자
a = ["LIfe", "is", "too", "short"]
b=" ".join(a)
b
'LIfe is too short'
4) 튜플
- 튜플 만들기
튜플 = {요소1, 요소2, 요소3, ...}
소괄호로 감싸주고 각 요솟값은 쉼표로 구분한다. 리스트와 다른 점은, 튜플의 요솟값은 바꿀 수 없다는 것
단지 1개의 요소만을 가질 때는 요소 뒤에 쉼표를 반드시 붙여야 한다.
소괄호를 생략해도 튜플 생성이 가능하다.
- 튜플 다루기
인덱싱, 슬라이싱, 연산 등 가능
#(1,2,3)이라는 튜플 a를 (1,2,3,4)로 바꾸어 출력해보자
a = (1,2,3)
a = a+(4,)
a
output
(1, 2, 3, 4)
5) 딕셔너리
- 딕셔너리 만들기
{key:value1, key2: value2, ...}
key와 value를 한 쌍으로 가지는 자료형
grade = {"pey":10, "julliet":99}
grade["pey"]
10
# 딕셔너리 요소 추가하기
a= {1:"a"}
a[2] = {"b"}
a
{1: 'a', 2: {'b'}}
- 딕셔너리 내장 함수
| 함수명 | 설명 |
| keys() | 딕셔너리의 Key 값을 dict_keys 객체로 리턴 |
| values() | 딕셔너리의 Value값을 dict_keys 객체로 리턴 |
| items() | key와 value의 쌍을 튜플로 묶은 값을 dict_items 객체로 리턴 |
| clear() | 딕셔너리 안의 모든 요소를 삭제 |
| get(x) | x라는 key에 대응되는 value를 리턴 |
| in x | x가 딕셔너리 안에 있는지 여부 리턴 |
#딕셔너리 a {"a":90, "b":80 "c":70} b를 가져오시오
a = {"a":90, "b":80, "c":70}
a["b"]
80
오늘부터 파이썬 시작이다!! 환경설정부터 나의 여정은 쉽지 않지만... 그래도 복습을 열심히 해서 프로젝트 때 잘 활용할 수 있도록 노력하겠다.