본문 바로가기

😀 기초

(35)
4장 난수 발생과 카운팅(4.0 ~ 4.1_시리즈 클래스) 4.0 판다스 데이터 분석 1. 판다스 데이터 분석 - 이 장에서는 판다스(Pandas)패키지를 사용하여 데이터를 분석하는 방법을 공부 - 판다스 패키지는 데이터를 다룰 때 빠질 수 없는 중요한 패키지 - 판다스 패키지를 이용하면 다양한 방법으로 데이터를 조작 2. 학습 목표 - 시리즈와 데이터프레임을 만들 수 있다. - 판다를 이용하여 csv 파일을 읽고 쓸 수 있다. - 시리즈와 데이터프레임에서 원하는 데이터를 읽고 갱신하는 방법을 익힌다. - 시지즈와 데이터프레임의 데이터를 조작하는 법을 공부한다 - 멀티 인덱스와 이를 다루는 방법을 학습. - 둘 이상의 데이터프레임을 하나로 합치는 법을 익힌다. - 데이터를 그룹으로 나누어 분석하고 피봇테이블을 만드는 방법을 공부한다. 4.1 판다스 패키지의 소개..
3장 난수 발생과 카운팅(3.5) 3.5 난수 발생과 카운팅 1. 난수 발생과 카운팅 - 파이썬을 이용하여 데이터를 무작위로 섞거나 임의 수(난수) - 이 기능은 주로 NumPy의 random 서브페키지에서 제공 2. 시드 설정하기 - 컴퓨터 프로그래밍에서 무작위 수는 사실 무작위 수가 아니다. - 정해진 알고즘에 의해 난수처럼 보이는 수열을 생성 - 이런 시작 숫자를 시드(seed)라고 한다. - 일단 생성된 난수는 다음번 난수 생성을 위한 시드값이 된다. - 따라서 시드값은 한 번만 정해주면 된다. - 시드는 보통 현재 시각등을 이용하여 자동으로 정해지지만 사람이 수동으로 설정할 수 있다. - 특정한 시드값이 사용되면 그 다음에 만들어지는 난수들은 모두 예특할 수 있음 - 이 책에서는 코드의 결과를 재현하기 위해 항상 시드를 설정한다..
3장 기술 통계(3.4) 3.4 기술 통계 1. 기술 통계 - 넘파이는 다음과 같은 데이터 집합에 대해 간단한 통계를 계산하는 함수를 제공 - 이러한 값들은 통틀어 기술 통계(descirpitive statistics)라고 한다. - 데이터의 개수 - 평균 - 분산 - 표준 편차 - 최댓값 - 최솟값 - 중앙값 - 사분위수 x = np.array([18, 5, 10, 23, 19, -8, 10, 0, 0, 5, 2, 15, 8, 2, 5, 4, 15, -1, 4, -7, -24, 7, 9, -6, 23, -13]) # 데이터의 개수 len(x) # 갯수 # 결과 26 # 표본 평균 np.mean(x) # 결과 4.8076923076923075 # 표본 분산 np.var(x) # 결과 115.23224852071006 np.var..
3장 배열의 연산(3.3) 3.3 배열의 연산 1. 백터화 연산 - 앞서 넘파이가 백터화 연산을 지원한다고 이야기 함. - 백터화 연산을 쓰면 명시적으로 반복문을 사용하지 않아도 배열의 모든 원소에 대해 반복연산이 가능 - 백터화 연산의 또다른 장점은 선형 대수 공식과 동일한 아주 간단한 파이썬 코드를 작성할 수 있음. - 예를 들어 선형 대해수에서 두 벡터의 합은 다음과 같이 구함. - (그림 참고) - 만약 백터화 연산을 사용하지 않으면 반복문을 사용하여 다음과 같이 만들어야 한다. - 이 코드에서 %%time은 셀 코드 실행시간 측정하는 아이파이썬 매직 명령이다. x = np.arange(1, 10001) y = np.arange(10001, 20001) %%time z = np.zeros_like(x) for i in ra..
3장 넘파이 배열의 생성과 변형(3.2) 3.2 배열의 생성과 변형 1. 넘파이의 자료형 - 넘파이 배열 즉, ndarrray 클래스는 운소가 모두 같은 조료형이어야 한다. - array 명령으로 배열을 만들 때 자료형을 명시적으로 적용하려면 dtype 인수 사용. - 만약 dtype 인수가 없으면 주어진 데이털르 저장할 수 있는 자료형을 스스로 유추한다. - 만들어진 배열의 자료형을 알아내려면 dtype 속성을 보면 된다. x = np.array([1, 2, 3]) x.dtype #결과 dtype('int32') x = np.array([1,0, 2.0, 3.0]) x.dtype #결과 dtype('float64') x = np.array([1, 2, 3.0]) x.dtype #결과 dtype('float64') - dtype 인수로 지정할 ..
3장 넘파이 배열 프로그래밍(3.1) 3.0 넘파이 배열 프로그래밍 1. 3장 넘파이 배열 프로그밍 - 이 장에서는 넘파이 패키지를 사용한 배열 프로그래밍에 대해 공부할 예정. - 배열 프로그래밍은 대량의 데이터를 빠르게 조작하기 위한 필수적 과정이다. - 파이썬의 데이터 관련 명령은 모두 넘파이 기능을 사용하므로 데이터 분석을위해서는 이 장에서 설명하는 모든 내용을 숙지해야한다. 2. 학습 목표 - 배열과 리스트의 차이점을 알고 배열을 사용하는 이유를 이해한다. - 배열을 생성하고 다루는 방법을 익힌다. - 넘파이를 사용하여 기술 통계를 낼 수 있다. - 난수를 발생시키고 그 결과를 분석하는 방법을 공부한다. 3.1 넘파이 배열 1. 3.1 넘파이 배열 - 많은 숫자 데이터를 하나의 변수에 넣고 관리하는 리스트는 메모리 차지가 많고 속도가..
2장 파이썬 기초문법(2.13 ~ 2.15) 2.13 파이썬 패키지 사용하기 1. 패키지 임포트 - 패키지가 설치되어 있다고 바로 사용할 수 없다 - 패키지를 사용하려면 설정하는 명령을 실행 - import 패키지이름 - 이때 주의할 점은 임포트할 때 사용하는 패키지 이름은 일반적으로 부르는 패키지 이름과 다를 수 있다. - 예를 들어 Scikit-Learn 패키지는 sklearn이라는 이름으로 임포트해야함. - 패키지 이름은 추후 패키지 안의 함수들을 사용할 때 계속 쓰인다. - 그래서 패키지 이름이 너무 길면 import 패키지이름 as패키지별명 - 예를들면 import sklearn as sk 2. 패키지 내용 살펴보기 임포트된 패키지 안의 내용을 살펴보려면 다음 명령을 사용한다. # dir(패키지이름 도는 패키지별명) dir(sk) ['__..
2장 파이썬 기초문법(2.11 ~ 2.12) 2.11 파이썬에서 딕셔너리 자료형 다루기 1. 자료의 개수 - 리스트 자료형과 마찬가지로 딕셔너리 자료형의 원소의 개수도 len 명령으로 구할 수 있다. x = {'a': 10, "b": 20} len(x) # 결과 : 2 2. 자료의 갱신, 추가, 삭제 - 딕셔너리 자료에서 특정한 키 값을 다른 값으로 바꾸려면 인덱싱 결과에 바꾸고자 하는 값을 대입한다. x['a'] #결과 : 10 x['a'] = 30 # 결과 : {'a': 30, 'b': 20} # 새로운 키와와 이에 대응하는 값을 추가 x['c'] = 40 print(x) # 결과 : {'a': 30, 'b': 20, 'c': 40} # 특정한 키와 value 삭제는 del 명령 del x["b"] x # 결과 : {'a': 30, 'c': 4..
2장 파이썬 기초문법(2.8장 ~ 2.10) 2.8 여러 개의 자료를 한 변수에 담기 1. 여러 개의 자료를 한 변수에 담기 지금까지는 하나의 변수에 하나의 자료를 저장 하지만 여러개의 자료를 저장할 필요가 있음 파이썬에서는 ***하나의 변수***에 여러 개의 자료를 저장하는 두 가지 방법을 사용 여러 개의 자료가 순서가 있을 때에는 ***리스트(list)*** 여러 개의 자료가 이름이 있을 때는 ***딕셔너리(dictionary)*** 2. 자료의 순서만 가지는 리스트 자료형 리스트 자료형에는 여러개의 자료를 순서에 따라 저장 리스트변수 = [자료1, 자료2, 자료3 ...] 3. 인덱싱 리스트 자료형 변수에서 특정한 자료를 꺼내려면 익덱싱을 함 이 때 자료의 순서를 뜻하는 숫자를 인덱스(index)라고 함. 4. 자료 이름만 가지는 딕셔너리 자..
2장 파이썬 기초문법(2.2장 ~ 2.7장) 2.3 파이썬 글자를 출력하기 1. 한줄 띄우기 (\n) print("한 줄 쓰고\n그 다음 줄을 쓴다.") # 결과 : # 한 줄 쓰고 # 그 다음 줄을 쓴다. 2. 줄을 바꾸지 않고 이어서 출력하기 (end="") print("한 줄 쓰고", end="") print("이어서 쓴다.") # 결과 : 한 줄 쓰고이어서 쓴다. 3. 문자열 치환 ( replace) 문자열에서 특정 문자를 다른 문자로 바꾸려면 replace 메서드 사용 "2022.01.23".replace(".","-") # 결과 : '2022-01-23' 문자열 공백을 없애래면 " " 공백 문자열을 "" 빈 문자열로 바꾸면 된다. "word with spcae".replace(" ","") # 결과 : 'wordwithspcae' 2.4..