데이터다루기 15

EDA - 2단계 : 실제 데이터 다루기 (2)

- 출처 빅데이터 연합 동아리 BITAmin : 네이버 카페 빅데이터 연합 동아리 비타민입니다. cafe.naver.com 멤버 9기 코딩 테스트 문제입니다. 환경은 주피터 노트북입니다. - 문제1 1번 tips 에서 day 열값 분포를 구하세요. 수치형 데이터의 요약 (평균, 사분위 수 등)을 구하시오. tips['day'].value_counts() tips.describe() 2번 sex 별 tip 의 최댓값을 구하세요. Hint: loc[ ] male=tips['sex']=="Male" female=tips['sex']=="Female" max_male=tips['tip'].loc['male'].max() max_female=tips['tip'].loc['female'].max() 3번 total..

EDA - 1단계 : 데이터 다루기 - 변환

- 과거 내용 EDA - 1단계 : 데이터 다루기 - 멀티인덱스, 반복 과거내용 DataFrame - 멀티인덱스 1. 하위분류변환 xs를 통해서 하위분류변환을 할 수 있다. 위는 B와 ... blog.naver.com - DataFrame - 변환 1. csv 변환 #csv 변환 df.to_csv(path_or_buf='test.csv') 기본적으로 to_csv를 통해서 변환을 한다. path_or_buf는 저장할 경로를 지정하는 옵션이다. 이외에도 sep은 구분자, na_rep은 결측값에 대한 설정, float_format은 소수점의 형식 설정, columns는 출력 열 지정 등 다양한 옵션이 존재한다. ​ 2. excel 변환 #excel로 변환 df.to_excel(excel_writer='test..

EDA - 1단계 : 데이터 다루기 - 멀티인덱스, 반복

- 과거내용 EDA - 1단계 : 데이터 다루기 - 시간 과거내용 DataFrame - 시간 1. 특정시간 필터링(1) at_time을 사용해서 시간이 06:00인 것만 필터링되어 ... blog.naver.com - DataFrame - 멀티인덱스 1. 하위분류변환 #원본데이터 col1 col2 row1 row2 row3 A X a 0 5 b 1 6 Y b 2 7 B Y c 3 8 Z d 4 9 #하위분류변환 print(df.xs(key=('B','Y'))) col1 col2 row3 c 3 8 xs를 통해서 하위분류변환을 할 수 있다. 위는 B와 Y를 차례대로 만족하는 하위값만 출력되게 해준다. drop_level을 False로 할 경우 key에 포함된 레벨도 출력한다. ​ 2. 피벗화 #원본데이터 ..

EDA - 1단계 : 데이터 다루기 - 시간

- 과거내용 EDA - 1단계 : 데이터 다루기 - 통계(2) 과거 내용 DataFrame - 통계(2) 1. 공분산 cov를 사용해서 두 값 사이의 공분산을 구할 수 있다. min_per... blog.naver.com - DataFrame - 시간 1. 특정시간 필터링(1) #원본 데이터 col1 2023-07-20 00:00:00 1 2023-07-20 03:00:00 2 2023-07-20 06:00:00 3 2023-07-20 09:00:00 4 2023-07-20 12:00:00 5 2023-07-20 15:00:00 6 2023-07-20 18:00:00 7 2023-07-20 21:00:00 8 2023-07-21 00:00:00 9 2023-07-21 03:00:00 10 #필터링 pri..

EDA - 1단계 : 데이터 다루기 - 통계(2)

- 과거 내용 EDA - 1단계 : 데이터 다루기 - 통계 과거 내용 DataFrame - 통계 1. 최대, 최소 max와 min 함수를 이용해 최대, 최소 값을 구할 수 있다. axi... blog.naver.com - DataFrame - 통계(2) 1. 공분산 #원본 데이터 col1 col2 0 2 1 1 -2 4 2 5 6 3 -3 5 #공분산 print(df.cov()) col1 col2 col1 13.666667 0.333333 col2 0.333333 4.666667 cov를 사용해서 두 값 사이의 공분산을 구할 수 있다. min_periods와 ddof의 옵션을 사용할 수 있다. 공분산의 개념은 아래 링크를 통해 확인할 수 있다. 통계학개론 - (4) 수치 척도(왜도, 공분산, 상관계수) ..

EDA - 1단계 : 데이터 다루기 - 통계

- 과거 내용 EDA - 1단계 : 데이터 다루기 - 축, 레이블 과거 내용 DataFrame - 축, 레이블 1. 행-열 교환 swapaxes를 사용해서 행과 열을 교환할 수 있다. 0은 i... blog.naver.com - DataFrame - 통계 1. 최대, 최소 #원본 데이터 col1 col2 col3 row1 1 2 3 row2 5 6 7 row3 10 9 8 #최대 print(df.max(axis=1)) row1 3 row2 7 row3 10 dtype: int64 #최소 print(df.min(axis=1)) row1 1 row2 5 row3 8 dtype: int64 max와 min 함수를 이용해 최대, 최소 값을 구할 수 있다. axis로 행과 열 중 어떤 것을 선택할 지 정할 수 있..

EDA - 1단계 : 데이터 다루기 - 축, 레이블

- 과거 내용 EDA - 1단계 : 데이터 다루기 - 확인 과거내용 DataFrame - 데이터타입 1. 타입 변경 astype을 사용해서 특정 열의 타입을 바꾸었다. dtype&#x... blog.naver.com - DataFrame - 축, 레이블 1. 행-열 교환 #원본 데이터 col1 col2 row1 A B row2 1 2 #행, 열 교환 print(df.swapaxes(axis1=0,axis2=1)) row1 row2 col1 A 1 col2 B 2 swapaxes를 사용해서 행과 열을 교환할 수 있다. 0은 index를, 1은 columns를 의미한다. ​ 2. 레이블명 변경 #원본 데이터 col1 col2 row1 A B row2 1 2 #레이블명 변경 print(df.rename(ind..

EDA - 1단계 : 데이터 다루기 - 확인

- 과거내용 EDA - 1단계 : 데이터 다루기 - 정보 과거내용 DataFrame - 정보 1. 인덱스 정보 인덱스의 이름과 타입을 index 함수를 통해 얻을 수 있다. 2.... blog.naver.com - DataFrame - 데이터타입 1. 타입 변경 #원본 데이터 col1 col2 col3 row1 1 one 1.1 row2 2 two 2.2 row3 3 three 3.3 #타입 변경 df=df.astype({'col1':'float64'}) print(df.dtypes) col1 float64 col2 object col3 float64 dtype: object astype을 사용해서 특정 열의 타입을 바꾸었다. dtype=타입 을 옵션으로 입력하면 전체 데이터의 타입을 바꿀 수 있다. ​..

EDA - 1단계 : 데이터 다루기 - 정보

- 과거내용 EDA - 1단계 : 데이터 다루기 - 가공 과거내용 DataFrame - 가공 1. 삽입 insert 명령어로 각각 삽입될 열의 위치, 이름, 값을 순서대로 입력... blog.naver.com - DataFrame - 정보 1. 인덱스 정보 #원본 데이터 col1 col2 col3 row1 1 2 3 row2 4 5 6 row3 7 8 9 #인덱스 print(df.index) Index(['row1', 'row2', 'row3'], dtype='object') ​인덱스의 이름과 타입을 index 함수를 통해 얻을 수 있다. 2. 열 정보 #원본 데이터 col1 col2 col3 row1 1 2 3 row2 4 5 6 row3 7 8 9 #열 정보 print(df.columns) Index..

EDA - 1단계 : 데이터 다루기 - 가공

- 과거내용 EDA - 1단계 : 데이터 다루기 - 정렬, 결합 과거 내용 DataFrame - 정렬 1. 값 정렬 by는 어떤 부분을 정렬할 지 선택하고, axis는 행과 열을 선택하... blog.naver.com - DataFrame - 가공 1. 삽입 #원본 데이터 col1 col2 col3 row1 1 2 3 row2 4 5 6 row3 7 8 9 #삽입 df.insert(3,'col4',[10,11,12]) col1 col2 col3 col4 row1 1 2 3 10 row2 4 5 6 11 row3 7 8 9 12 ​insert 명령어로 각각 삽입될 열의 위치, 이름, 값을 순서대로 입력하여 삽입할 수 있다. 2. 꺼내기 #원본 데이터 col1 col2 col3 row1 1 2 3 row2 ..