Do it! 판다스 입문
-
[Pandas] DataFrame 다루기 메모Do it! 판다스 입문 2022. 11. 2. 11:33
데이터프레임 만들기 딕셔너리 이용 df = pd.DataFrame.from_dict([{'column':'data'}]) # 더 많은 row # df = pd.DataFrame.from_dict([{'column':['data', 'data2', 'data3']}]) db select한 데이터로 만들기 df = pd.DataFrame(data, columns = ['column']) 컬럼 추가 맨 뒤에 추가 df['column'] = 'data' 원하는 위치에 추가 df.insert(원하는 열 인덱스, column명, data) (맨 앞) (2번째 열) 빈 값 추가 df['column'] = '' nan 값 추가 df['column'] = np.nan index 다루기 인덱스 열 추가하기 df['colu..
-
Chapter 12-2 사례별 시계열 데이터 계산하기_2Do it! 판다스 입문 2022. 6. 26. 19:07
시간 범위와 인덱스 앞에서 사용한 주식 데이터는 특정 일에 누락된 데이터가 없었습니다. 하지만 가끔은 데이터를 수집하지 못한 날도 있을 수 있겠죠. 만약 특정 일에 누락된 데이터도 포함시켜 데이터를 살펴보려면 어떻게 해야 할까요? 이런 경우에는 임의로 시간 범위를 생성하여 인덱스로 지정해야 합니다. 시간 범위 생성해 인덱스로 지정하기 1. 테슬라 주식 데이터는 특정 일에 누락된 데이터가 없습니다. 그래서 이번에는 에볼라 데이터 집합을 사용하겠습니다. 가장 앞쪽의 데이터를 살펴보면 2015년 01월 01일의 데이터가 누락된 것을 알 수 있습니다. ebola = pd.read_csv('../data/country_timeseries.csv', parse_dates=[0]) print(ebola.iloc[:5..
-
Chapter 12-2 사례별 시계열 데이터 계산하기_1Do it! 판다스 입문 2022. 6. 26. 18:17
에볼라 최초 발병일 계산하기 1. ebola 데이터프레임의 마지막 행과 열을 5개씩만 살펴보겠습니다. ebola 데이터프레임은 데이터가 시간 역순으로 정렬되어 있습니다. 즉, 시간 순으로 데이터를 살펴보려면 데이터프레임의 마지막부터 살펴봐야 합니다. print(ebola.iloc[-5:, :5]) Date Day Cases_Guinea Cases_Liberia Cases_SierraLeone 117 3/27/2014 5 103.0 8.0 6.0 118 3/26/2014 4 86.0 NaN NaN 119 3/25/2014 3 86.0 NaN NaN 120 3/24/2014 2 86.0 NaN NaN 121 3/22/2014 0 49.0 NaN NaN 2. 121행에서 볼 수 있듯이 에볼라가 발생하기 시작한..
-
Chapter 12-1 datetime 오브젝트Do it! 판다스 입문 2022. 6. 26. 17:01
datetime 라이브러리는 날짜와 시간을 처리하는 등의 다양한 기능을 제공하는 파이썬 라이브러리입니다. datetime 라이브러리에는 날짜를 처리하는 date 오브젝트, 시간을 처리하는 time 오브젝트, 날짜와 시간을 모두 처리하는 datetime 오브젝트가 포함되어 있습니다. 앞으로 3개의 오브젝트를 명확히 구분하기 위해 영문을 그대로 살려 date, time, datetime 오브젝트라고 부르겠습니다. datetime 오브젝트 사용하기 1. datetime 오브젝트를 사용하기 위해 datetime 라이브러리를 불러옵니다. from datetime import datetime 2. now, today 메서드를 사용하면 다음과 같이 현재 시간을 출력할 수 있습니다. now1 = datetime.now..
-
Chapter 11-3~11-4 데이터 필터링, 그룹 오브젝트Do it! 판다스 입문 2022. 6. 25. 18:59
만약 그룹화한 데이터에서 원하는 데이터를 걸러내고 싶다면 어떻게 해야 할까요? 그럴 때는 데이터 필터링을 사용하면 됩니다. 데이터 필터링을 사용하면 기준에 맞는 데이터를 걸러낼 수 있습니다. 다음 예제를 통해 데이터 필터링이 무엇인지 알아보겠습니다. 데이터 필터링 사용하기 - filter 메서드 1. 다음과 같이 tips 데이터 집합을 불러와 데이터 크기를 확인합니다. tips = sns.load_dataset('tips') print(tips.shape) (244, 7) 2. size 열의 데이터 수를 확인해 보면 1, 5, 6 테이블의 주문이 매우 적다는 것을 알 수 있습니다. print(tips['size'].value_counts( )) 2 156 3 38 4 37 5 5 6 4 1 4 Name:..
-
Chapter 11-1~11-2 데이터 집계, 데이터 변환Do it! 판다스 입문 2022. 6. 25. 17:56
데이터 집계하기 - groupby 메서드 02장에서 갭마인더 데이터 집합으로 각 연도의 평균 수명을 구했던 것을 기억하나요? 수집한 데이터를 바탕으로 평균이나 합 등을 구하여 의미 있는 값을 도출해 내는 것을 '집계'라고 합니다. 데이터를 집계하면 전체 데이터를 요약, 정리하여 볼 수 있기 때문에 데이터 분석이 훨씬 편해지죠. 그러면 groupby 메서드로 평균값을 구하는 과정을 통해 데이터 집계가 무엇인지 알아보겠습니다. groupby 메서드로 평균값 구하기 1. 먼저 갭마인더 데이터 집합을 불러옵니다. import pandas as pd df = pd.read_csv('../data/gapminder.tsv', sep='\t') 2. 다음은 year 열을 기준으로 데이터를 그룹화한 다음 lifeExp..
-
Chapter 10 apply 메서드 활용Do it! 판다스 입문 2022. 6. 25. 16:13
간단한 함수 만들기 이 책은 파이썬의 기초 지식을 어느 정도 아는 독자를 대상으로 집필되었습니다. 따라서 함수는 간단히 설명하고 넘어갑니다. 함수의 기본 구조는 다음과 같습니다. def my_function( ): # 여기부터 코드를 입력합니다. 그러면 제곱 함수와 n 제곱 함수를 직접 만들어보겠습니다. 제곱 함수와 n 제곱 함수는 10-2에서 apply 메서드와 함께 사용합니다. 여기에서 꼭 함수를 만들어보고 다음으로 넘어가세요. 제곱 함수와 n 제곱 함수 만들기 1. 제곱 함수는 다음과 같습니다. def my_sq(x): return x ** 2 2. n 제곱 함수 my_exp는 다음과 같습니다. def my_exp(x, n): return x ** n 3. 과정 1~2에서 만든 함수를 사용해 볼까요..
-
Chapter 09-3~09-4 문자열 포매팅, 정규식으로 문자열 처리에 날개 달기Do it! 판다스 입문 2022. 6. 25. 14:53
문자열 포매팅하기 문자열 포매팅은 문자열을 편리하게 출력할 수 있게 해주는 기능입니다. 예를 들어 I can swim, I can fly, I can run과 같은 문자열은 I can이라는 문자열에 swim, run, fly와 같은 단어만 바꿔 넣어 출력하는 것이 더 편리합니다. 즉, 문자열 포매팅이란 출력할 문자열의 형식을 지정하거나 변수를 조합하여 출력하는 방법을 말합니다. 문자열 포매팅하기 1. 다음과 같이 단어를 삽입할 위치를 {}로 지정하고 format 메서드에 원하는 단어를 전달하면 {}의 위치에 전달한 단어를 삽입해 출력합니다. 이때 {}를 플레이스 홀더라고 부릅니다. var = 'flesh wound' s = "It's just a {}!" print(s.format(var)) It's j..