파이썬에서 자기란 무엇인가: 실제 사례
파이썬에서 자기란 무엇인가: 실제 사례
이 자습서에서는 Pandas를 사용하여 시계열 데이터를 리샘플링하는 방법을 배웁니다 . 이 블로그 하단에서 이 튜토리얼의 전체 비디오를 볼 수 있습니다 .
이 리샘플링 아이디어는 무엇입니까? 이것은 시계열 데이터와 관련이 있으며 우리가 할 일은 해당 데이터가 보고되는 빈도를 변경하는 것입니다. 예를 들어 연간 값을 월별 또는 주별로 변경하거나 시간별 데이터를 일별로 변경합니다. 즉, 계층 구조의 수준을 변경하는 것입니다.
이것은 보다 신뢰할 수 있는 추세 , 샘플 크기 및 계절성을 얻는 것과 같은 여러 가지 이유로 사용될 수 있습니다 . 일부 보고서에서는 특정 수준의 계층 구조를 다른 수준과 비교하여 사용하는 것이 더 적합할 것입니다.
또한 데이터 원본이 다르고 시계열 데이터 조인을 수행해야 하는 경우 리샘플링이 도움이 될 수 있습니다. 이는 계층 구조 의 불일치를 처리할 때도 도움이 됩니다 .
이를 더 세분화하기 위해 다운샘플링과 업샘플링이 있습니다.
다운샘플링은 보고 빈도를 줄이는 것입니다 . 더 적은 값을 갖기 위해 1초에서 1시간으로 변환하거나 월 단위로 다운샘플링하는 것과 같은 것일 수 있습니다.
반면 업샘플링은 월 수준에서 일 단위로 보고 빈도를 높이는 것입니다 . 나중에 이것에 대한 더 많은 예를 보게 될 것입니다.
목차
Pandas를 사용하여 시계열 데이터를 리샘플링하는 방법
Pandas에서 이것을 어떻게 할 것입니까?
먼저 인덱스를 시계열 데이터 열로 변경합니다 . 그런 다음 값을 채우는 보간법을 사용하여 업샘플링하고 값을 집계하여 롤업하기 위해 다운샘플링할 수 있습니다.
Jupyter Notebook Python으로 이동하여 Pandas로 확인해 보겠습니다.
우선 import pandas as pd 를 입력하고 import seaborn as sns를 입력 하여 Pandas를 사용하여 시각화하고 import matplotlib.pyplot as plt를 사용 하여 Seaborn 시각화를 사용자 정의합니다 .
다음으로 할 일은 vega_datasets import data 에서 데이터를 가져오는 것입니다 . 샘플 소스를 얻을 수 있는 좋은 장소입니다. 또한 sp = data.sp500( ) 및 sp.head( ) 라이브러리를 얻을 것입니다 .
지금까지의 데이터입니다. 매일 매일의 수익과 가격이 있습니다.
인덱스를 날짜 열로 설정하려면 sp.set_index(['date'], inplace=True)를 입력한 다음 sp.head를 다시 호출합니다.
업샘플링을 사용하여 값 얻기
그런 다음 더 많은 값을 가지려면 업샘플링을 사용합시다. 매일 데이터가 있으므로 가장 간단한 함수인 sp [['price']]를 사용하여 시간 단위까지 내려갈 수 있습니다. resample ('H').ffill ( ) , 실행합니다. H 는 시간, M 은 월, D 는 일 등을 나타냅니다. 이에 대한 자세한 내용은 Pandas 문서 에서 확인할 수 있습니다 .
보시다시피 1월 1일 자정 가격은 1394.46이며, 이후 오전 1시부터 오전 4시까지의 시간과 동일합니다. 또 다른 예는 종가가 1366.42인 1월 2일입니다.
시간 수준에서 값을 사용할 수 없는 경우에도 이를 수행하는 다른 방법이 있습니다. 또한 정방향 채우기를 수행하는 것보다 더 정교한 방법이 있습니다 . 예를 들어, 우리가 한 것은 업샘플링 보간을 수행하는 기본적인 방법입니다.
다음으로 avg_month = sp [['price]].resample ('M').mean ( ) 을 입력한 다음 avg_month.head ( ) 를 입력하고 실행하여 확인하여 다운샘플링으로 이동합니다.
그림과 같이 매월 말일과 평균 가격을 볼 수 있습니다. 더 적은 값을 갖도록 샘플을 줄일 수 있습니다. 이를 다운사이징이라고 합니다.
이를 시각화하기 위해 그려진 치수를 다시 플로팅해 보겠습니다. 그런 다음 sns.lineplot . 선 그래프는 X축이 길수록 더 잘 작동하고 Y 값은 월 평균 가격입니다.
표시된 달의 평균 가격을 보려면 이것을 실행해 봅시다.
다시 말하지만, 우리가 이것을 할 수 있는 많은 다른 방법들이 있습니다. 예를 들어 분기별 최저 가격을 알고 싶다면 quarter_low 를 입력한 다음 quarter_low.head 를 입력하여 실행하면 됩니다.
이제 각 분기에서 찾은 분기별 최저 값을 볼 수 있습니다. 이것이 리샘플링을 수행하는 방법입니다.
보간법을 사용하여 Python에서 누락된 데이터 처리
Pandas의 MultiIndex for Multi-level 또는 Hierarchical Data
Datasets In Pandas With ProfileReport | LuckyTemplates의 파이썬
결론
결론적으로 Pandas는 실제로 리샘플링 및 시계열 데이터용으로 제작되었습니다 . 시계열 데이터로 작업 중이고 세분성이 다른 경우 리샘플링이 매우 유용할 수 있습니다.
또한 resample 방법에 대한 Pandas 설명서를 읽고 이를 수행하는 다양한 방법을 배우십시오. 기본 사항을 살펴보았지만 격주, 해당 월의 마지막 근무일, 리샘플링을 위한 더 많은 옵션 등을 수행할 수 있습니다.
모두 제일 좋다,
조지 마운트
파이썬에서 자기란 무엇인가: 실제 사례
R의 .rds 파일에서 개체를 저장하고 로드하는 방법을 배웁니다. 이 블로그에서는 R에서 LuckyTemplates로 개체를 가져오는 방법도 다룹니다.
이 DAX 코딩 언어 자습서에서는 GENERATE 함수를 사용하는 방법과 측정값 제목을 동적으로 변경하는 방법을 알아봅니다.
이 자습서에서는 다중 스레드 동적 시각적 개체 기술을 사용하여 보고서의 동적 데이터 시각화에서 통찰력을 만드는 방법을 다룹니다.
이 기사에서는 필터 컨텍스트를 살펴보겠습니다. 필터 컨텍스트는 모든 LuckyTemplates 사용자가 처음에 배워야 하는 주요 주제 중 하나입니다.
LuckyTemplates Apps 온라인 서비스가 다양한 소스에서 생성된 다양한 보고서 및 인사이트를 관리하는 데 어떻게 도움이 되는지 보여주고 싶습니다.
LuckyTemplates에서 측정 분기 및 DAX 수식 결합과 같은 기술을 사용하여 수익 마진 변경을 해결하는 방법을 알아봅니다.
이 자습서에서는 데이터 캐시의 구체화 아이디어와 결과 제공 시 DAX 성능에 미치는 영향에 대해 설명합니다.
지금까지 Excel을 계속 사용하고 있다면 지금이 비즈니스 보고 요구 사항에 LuckyTemplates를 사용하기 시작하는 가장 좋은 시기입니다.
LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것