loc[], iloc[].loc[]: 행 이름과 열 이름을 사용DataFrame 객체.loc[행 이름, 열 이름].iloc[]: 행 번호와 열 번호를 사용DataFrame 객체.iloc[행 번호, 열 번호]titanic.head()로 출력한 결과 loc[]import pandas as pd# .loc[] 예제names35 = titanic.loc[titanic['Age'] > 35, ['Name', 'Age']]names35.head() 코드 설명titanic['Age'] > 35: 이 부분은 조건을 설정해 준다. titanic 데이터프레임의 Age 열에서 35보다 큰 값을 가지는 행들을 선택한다. 이 조건은 불리언 시리즈를 반환한다. ['Name', 'Age']: 이 부분은 선택할 열 이름들을 지정한..
인덱싱# a 배열 생성 & 출력a = np.arange(10)**2print(a)>>> [ 0 1 4 9 16 25 36 49 64 81]# a 배열의 2번째 인덱스 출력print(a[2])>>> 4# a 배열의 2~4번 인덱스 출력print(a[2:5])>>> [ 4 9 16]# reverse : 배열의 요소 거꾸로 출력print(a[: : -1])>>> [81 64 49 36 25 16 9 4 1 0]# 0~5번에서 2Step 인덱스 출력# a[0:6:2] = a[:6:2]# 인덱스 0, 2, 4 해당하는 값에 1000 삽입a[0:6:2] = 1000print(a)>>> [1000 1 1000 9 1000 25 36 49 64 81] 인덱스 배열로 인덱싱# ..
자동 형 변환numpy에서 수치연산 진행할 때 각각의. dtype이 다르면, 타입이 큰쪽(int 된다.# a와 b 배열 생성 & 타입 확인a = np.ones(3, dtype=np.int32)b = np.linspace(0, np.pi,3)print(a)print(b)print(a.dtype)print(b.dtype)>>> [1 1 1]>>> [0. 1.57079633 3.14159265]>>> int32>>> float64 a(int), b(float) 연산 시 float로 upcasting 된다.c = a + bprint(c)print(c.dtype)>>> [1. 2.57079633 4.14159265]>>> float64 집계 함수.sum: 모든 요소의 합.min: 모든..
arange & linspacenp.arange: N만큼 차이 나는 숫자를 생성해 준다.np.linspace: N 등분한 숫자를 생성해 준다.np.arange([start], stop, [step]..)[]는 생략 가능하다.끝 값은 포함하지 않는다.np.linspace(start, stop, num=50..)처음 값과 끝 값을 포함한다,몇 개로 만들지 매개변수로 넘겨준다. 예제 코드# 10이상 30미만 까지 5씩 차이나게 생성print(np.arange(10,30,5))>>> [10 15 20 25]# 0이상 2미만 까지 0.3씩 차이나게 생성print(np.arange(0,2,0.3))>>> [0. 0.3 0.6 0.9 1.2 1.5 1.8]# 0~99까지 100등분x = np.linspace(0, ..
데이터 압축이 필요한 이유?데이터 전송 시 대용량 데이터는 전송 속도가 느리며, 전송 문제가 발생할 가능성이 높다.데이터 압축의 종류무손실 압축 : 데이터 손실이 전혀 없는 압축손실 압축 : 사람이 눈치채지 못할 수준의 정보만 버리고 압축하는 방법. 대신 무손실 압축보다 압축률을 높일 수 있다.압축률 : 원시 자료량 (원래 데이터 크기) / 압축된 자료량 (압축된 데이터 크기)다양한 압축 알고리즘에 따라 압축 성능 및 시간이 좌우된다.압축 : 인코딩 (Encoding)압축 해제 : 디코딩 (Decoding) 런 - 길이 부호화 (Run-Length Encoding)대표적인 무손실 압축 방법이다. AAAABBBBBCCCCCCCCDEEEE라는 문자열을4(번의) A5(번의) B8(번의) C1(번의) D4(번의..
glob파일을 찾을 때 자주 사용되는 모듈이다. 파일 탐색기에서 파일을 탐색하듯, 파이썬 코드에서 파일을 탐색할 수 있는 게 glob 모듈이다. glob는 패턴을 이용하여 파일을 검색할 때 사용하는 모듈이고 여기서 패턴이라 하면, 파일이 어떤 특징을 갖는지, 뭐 어떤 확장자를 갖는지, 특정 단어가 포함된 파일을 찾는다거나 이런 패턴을 말한다. 파일 확장자로 찾기import globimport os# 현재 디렉토리 확인os.getcwd()>>> '/Users/yijun/study/workspace/python/library/ch04. [파일디렉터리] 업무효율 향상을 위한 폴더 관리 프로그램 만들기'# txt 파일 찾기 - 현재 경로for filename in glob.glob("*.txt"): pr..
Pickle 모듈은 파이썬 객체를 직렬화(serialize)하여 파일로 저장하고, 나중에 다시 불러올 수 있게 해주는 유용한 도구다. 이 과정을 통해 파이썬 프로그램의 상태를 지속적으로 유지할 수 있으며, 특히 모델 학습 결과나 복잡한 데이터 구조를 저장하는 데 활용된다. 그러나 pickle은 대용량 데이터 처리에는 적합하지 않으며, 대용량 데이터는. txt,. csv,. json 형식으로 저장하는 것이 더 효율적이다. Pickle 기본 개념영속성(persistence)파이썬 객체는 메모리에 상주하며, 파이썬 인터프리터가 종료되면 메모리와 함께 사라진다. Pickle은 이러한 객체들을 파일에 저장하여 프로그램 종료 후에도 데이터를 유지할 수 있게 한다. 직렬화(Serialization)Pickle 모듈을..
클로저함수 안의 함수를 결과로 반환할 때, 그 내부 함수를 클로저(Closure)라고 한다. 사용되는 곳은 다음과 같다.콜백(Callback) 함수에 사용함수의 순차적 실행데코레이터 함수 # 받은 수에 3을 곱하는 함수def mul3(n): return n * 3mul3(3)3# 받은 수에 5를 곱하는 함수def mul5(n): return n * 5mul5(3)15 이때 비슷한 기능을 하는 mul6, mul7, mul8... 도 만들어야 할까?? 방법 1. 클래스(class) 사용class Mul: def __init__(self, m): self.m = m def mul(self, n): return self.m * nif __name__ == "__m..