본문 바로가기

😀 기초

(35)
1. PyCharm 사용법 IDE(통합 개발 환경) : 1. 소스 코드 편집기, 컴파일, 디버깅 등 통합해서 관리 가능 2. 대표 : 파이참, 이클립스, VSCODE 등. Pycharm을 사용하는 이유 1. 파이썬을 위한 IDE이며, 대중적으로는 VSCODE 많이 사용하지만 파이썬 경우는 파이참을 많이 사용 IDE(통합 개발 환경) 사용하는 이유: 1. 하이라이트 기능을 통해 코드 구분이 쉬움 2. 자동완성 기능 3. 실시간 문법 오류 수정 4. 필요 플로그인 설치 5. 디버거를 통해 버그를 잡아낼 수 있음 Virtualenv(가상환경) 1. 가상환경을 설정하는 이유 : 프로젝트마다 요구서가 다름. 2. 한곳에 설치하게 되면, 프로그램이 무거워지며 나중에는 오류가 발생된다. 3. Base interpreter : 방금 설치한 경로..
1-1 부트캠프) 함수 1. 함수가 아닌 경우 : X(입력)가 Y(출력)를 2개 이상 나올 경우. X(입력)를 모두 대응하지 않을 경우. 1. 함수 표기법 1. 데이터 분석에 수학이 필요한 이유 다양한 현상을 설명하기 위해서 다양한 함수 형태를 알아야 설명이 가능. 2. 함수 종류 일차, 다항, 유리, 무리 함수 항등, 삼각, 지수, 로그 함수 3. wolframalpha를 그래프 모양을 확인 할 예정. 각 함수들의 그래프 모양으로 고민할 필요는 없다.
4.8 시계열 자료 다루기 4.8 시계열 자료 다루기 1. #### DatetimeIndex 인덱스 - 시계열 자료는 인덱스가 날짜 혹은 시간인 데이터를 말한다. - 판다스에서 시계열 자료를 생성하려면 인덱스를 DatetimeIndex 자료형으로 만들어야 한다. - DatetimeIndex는 특정한 순간에 기록된 타임스탬프 형식의 시계열 자료를 다루기 위한 인덱스이다. - 타임스탬프 인덱스의 라벨값이 반드시 일정한 간격일 필요는 없다 - DatetimeIndex 인덱스는 다음과 같이 보조 함수를 사용하여 생성 - pd.to_datetime 함수 - pd.date_range 함수 - pd.to_datetime 함수를 쓰면 날짜/시간을 나타내는 문자열을 자동으로 datetime 자료형으로 바꾼 후 DatetimeIndex자료형 인덱스..
4.7 피봇테이블과 그룹분석 4.7 피봇테이블과 그룹분석 1. #### 피폿테이블 --- - 피봇테이블(pivot table)이란 데이터 열 중에서 두 개의 열을 각각 행 인덱스, 열 인덱스로 사용하여 데이터를 조회하여 펼쳐놓은 것 - 판다스는 피봇테이블을 만들기 위한 pivot 메서드를 제공함 - 첫번째 인수로는 행 인덱스로 사용할 열 이름 - 두번째 인수로는 열 인덱스로 사용할 열 이름 - 마지막으로 데이터로 사용할 열 이름을 넣는다. - 판다스는 지정된 두 열을 각각 행 인덱스와 열 인덱스로 바꾼 후 행 인덱스의 라벨 값이 첫번째 키의 값과 같고 열 인덱스의 라벨 값이 두번째 키의 값과 같은 데이터를 찾아서 해당 칸에 넣는다. - 만약 주어진 데이터가 존재하지 않으면 해당 칸에 NaN값을 넣는다. - 다음 데이터는 각 도시의 ..
4.6 데이터프레임 합성 4.6 데이터프레임 합성 1.### 4.6 데이터프레임 합성 --- - 판다스는 두 개 이상의 데이터프레임을 하나로 합치는 데이터 병합(merge)이나 연결(concatenate) 지원 2. #### merge 함수를 사용한 데이터 프레임 병합 - merge 함수는 두 데이터 프레임의 공통 열 혹은 인덱스를 기준으로 두 개의 테이블을 합친다. - 이 때 기준이 되는 열, 행의 데이터를 키(key)라고 한다. - merge 함수로 위 두 데이터프레임 df1, df2 를 합치면 - 공통 열인 고객번호 열을 기진으로 데이터를 찾아서 합친다. - 이때 기본적으로 양쪽 데이터프레임에 모두 키가 존재하는 데이터만 보여주는 inner join 방식 사용 - outer join 방식은 키 값이 한쪽에만 있어도 데이터를..
4.5 데이터프레임 인덱스 조작 4.5 데이터프레임 인덱스 조작 1.#### 데이터프레임 인덱스 설정 및 제거 - 때로는 데이터프레임에 인덱스로 들어가 있어야 할 데이터가 - 일반 데이터 열에 들어가 있거나 반대로 일반 데이터 열이어야 할 것이 인덱스로 되어 있을 수 있다. - 이 때는 set_index명령과 reset_index 명령으로 인덱스와 일반 데이터 열을 교환할 수 있다. - set_index: 기존의 행 인덱스를 제거하고 데이터 열 중 하나를 인덱스로 설정 - reset_index : 기존의 행 인덱스를 제거하고 인덱스를 데이터 열로 추가 2. #### 다중 인덱스 - 행이나 열에 여러 계층을 가지는 인덱스 즉, 다중 인덱스를 설정할 수도 있다. - 데이터프레임을 생성할 때 columns 인수에 다음 예제처럼 리스트의 리스..
4.4 데이터프레임의 데이터 조작 4.4 데이터프레임의 데이터 조작 1. 데이터프레임의 데이터 조작 - 판다스는 넘파이 2차원 배열에서 가능한 대부분의 데이터 처리가 가능 - 추가로 데이터 처리 및 변환을 위한 다양한 함수와 메서드를 제공 2. #### 데이터 갯수 세기 - 가장 간단한 데이터 분석은 데이터의 갯수를 세는 것이다. - count 메서드를 사용한다. - NaN 값은 세지 않는다. s = pd.Series(range(10)) s[3] = np.nan s #결과 0 0.0 1 1.0 2 2.0 3 NaN 4 4.0 5 5.0 6 6.0 7 7.0 8 8.0 9 9.0 dtype: float64 s.count() #결과 9 - 데이터프레임에서는 각 열마다 별도로 데이터 갯수를 센다. - 데이터에서 값이 누락된 부분을 찾을 때 유..
4.3 데이터프레임 고급 인덱싱 4.3 데이터프레임 고급 인덱싱 1. 데이터프레임 고급 인덱싱 - 데이터프레임에서 특정한 데이터만 골라내는 것을 인덱싱(indexing)이라고 함. - 앞 절에서는 라벨, 라벨 리스트, 인덱스데이터(정수) 슬라이스의 3가지 인덱싱 값을 사용하여 인덱싱을 하는 방법을 공부 - 근데 Pandas는 numpy 행렬과 같이 쉼표를 사용한(행과 열 인덱스) 형식의 2차원 인덱싱을 지원하기 위해 - 다음과 같은 특별한 인덱서(indexer)속성도 제공한다. - loc : 라벨값 기반의 2차원 인덱싱 - iloc : 순서를 나타내는 정수 기반의 2차원 인덱싱 2. #### loc 인덱서 - loc 인덱서는 다음처럼 사용한다. - df.loc[행 인덱싱 값] - 또는 - df.loc[행 인덱싱값, 열 인덱싱값] - 이..
4.2 데이터 입출력 4.2 데이터 입출력 1. 데이터 입출력 - Pandas는 데이터 파일을 읽어 데이터프레임을 만들 수 있다. - 다음처럼 여러가지 포맷을 지원함. - CSV - Excel - HTML - JSON - HDF5 - SAS - STATA - SQL - 여기서 가장 단순하지만 널리 사용되는 CSV(Comman Separated Value) 포맷 입출력에 대해 알아보자 - CSV 파일 포맷은 데이터 값이 쉼표(commna)로 구분되는 텍스트 파일 2. #### %%writefile 명령 - 샘플 데이터로 사용할 CSV 파일은 %%writefile 매직(magic)명령으로 만들어보자. - 이 명령은 셀에 서술한 내용대로 텍스트 파일을 만드는 명령이다. 3. #### CSV 파일 입력 - CSV 파일로부터 데이터를..
4.1장 판다스 패키지의 소개(4.1_데이터프레임 클래스) 4.1 판다스 패키지의 소개(데이터프레임 클래스) 결과 값들이 밀려서, jupyter notebook 으로 다시 보기 1. 데이터프레임 클래스 - 시리즈가 1차원 벡터 데이터에 행방향 인덱스를 붙인 것이라면 - 데이터프레임 클래스는 2차원 행렬 데이터에 인덱스를 붙인 것과 비슷 - 2차원이므로 각각의 행 데이터의 이름이 되는 행 인덱스뿐 아니라 각각의 열 데이터의 이름이 되는 열 인덱스도 붙일 수 있다. 2. #### 데이터프레임 생성 - 데이터프레임을 만드는 방법은 다양. 가장 간단한 방법은 다음과 같다. - 1. 우선 하나의 열이 되는 데이터를 리스트나 일차원 배열을 준비 - 2. 이 각각의 열에 대한 이름(라벨)을 키로 가지는 딕션너리 만든다. - 3. 이데터를 DataFrame 클래스 생성자에 넣..