>  기사  >  백엔드 개발  >  Python Pandas에서 시간 간격별로 데이터를 그룹화하는 방법은 무엇입니까?

Python Pandas에서 시간 간격별로 데이터를 그룹화하는 방법은 무엇입니까?

PHPz
PHPz앞으로
2023-08-29 14:13:02841검색

如何在Python Pandas中按时间间隔分组数据?

데이터 분석은 점점 모든 산업에서 중요한 측면이 되고 있습니다. 많은 조직에서는 전략적 결정을 내리고, 추세를 예측하고, 소비자 행동을 이해하기 위해 정보에 크게 의존하고 있습니다. 이러한 환경에서 Python의 Pandas 라이브러리는 정보를 성공적으로 조작, 분해 및 시각화할 수 있는 다양한 기능을 제공하는 강력한 장치로 등장합니다. 이러한 강력한 기능 중 하나는 시간 간격별로 데이터를 그룹화하는 것입니다.

이 기사에서는 Pandas를 사용하여 시간 간격별로 데이터를 그룹화하는 방법에 중점을 둘 것입니다. 구문, 이해하기 쉬운 알고리즘, 두 가지 접근 방식, 이러한 접근 방식을 기반으로 완전히 실행 가능한 두 가지 실제 코드를 살펴보겠습니다.

문법

우리가 집중할 방법은 Pandas의 groupby() 기능, 특히 리샘플링 방법입니다. 구문은 다음과 같습니다:

으아아아

문법:

  • df − DataFrame.

  • groupby(pd.Grouper()) − 데이터를 그룹화하는 기능입니다.

  • key − 그룹화하려는 열입니다. 여기서는 '날짜' 열입니다.

  • freq − 시간 간격의 빈도. ('T'는 분, 'H'는 시간, 'D'는 일 등을 나타냅니다.)

  • sum() - 집계 함수.

알고리즘

다음은 시간 간격별로 데이터를 그룹화하는 단계별 알고리즘입니다. -

  • 필요한 라이브러리, 즉 Pandas를 가져옵니다.

  • DataFrame을 로드하거나 생성하세요.

  • 날짜 열이 아직 변환되지 않은 경우 날짜/시간 개체로 변환합니다.

  • pd.Grouper를 사용하여 원하는 빈도로 날짜 열에 groupby() 함수를 적용하세요.

  • sum(), 평균() 등 집계 함수 적용

  • 결과를 인쇄하거나 저장하세요.

방법

우리는 두 가지 접근 방식을 고려할 것입니다 −

방법 1: 일일 빈도별로 그룹화

이 예에서는 날짜와 값 범위를 포함하는 DataFrame을 만듭니다. 그런 다음 데이터를 일일 빈도별로 그룹화하고 일일 값을 합산했습니다.

으아아아

출력

으아아아

지침

Pandas 라이브러리를 도입하는 것은 모든 데이터 조작 작업에 대한 절대적인 요구 사항이며 이 코드에서 실제로 수행할 주요 작업입니다. pd.DataFrame() 전략을 활용하는 것은 DataFrame 구성 중 후속 단계입니다. "날짜" 및 "값" 부분이 이 데이터프레임을 구성합니다. pd.date_range() 함수는 "날짜" 열에 시간별 타임스탬프 범위를 생성하는 데 사용되는 반면, "값" 부분에는 정수 범위만 포함됩니다. "날짜" 열은 이 상호작용의 결과입니다.

Date 열은 현재 datetime 객체를 다르게 처리하지만 점차적으로 pd.to_datetime() 함수를 사용하여 변경되도록 하고 있습니다. 수집 활동의 진행은 세그먼트에 날짜/시간 객체 정보 유형이 있는지 여부에 따라 달라지므로 이 단계는 매우 중요합니다.

이후 데이터를 일별('D') 빈도별로 그룹화하기 위해 pd.Grouper() 함수와 결합된 groupby() 함수를 사용합니다. 그룹화한 후 sum() 함수를 사용하여 같은 날에 속하는 모든 '값' 요소를 단일 합계로 결합합니다.

마지막으로 그룹화된 DataFrame이 작성되어 각 날짜의 값 합계가 표시됩니다.

방법 2: 15분 간격 등 사용자 지정 빈도별로 그룹화

으아아아

출력

으아아아

지침

다음 기술은 첫 번째 기술과 유사한 Pandas 라이브러리를 가져오는 것으로 시작한 다음 DataFrame을 생성합니다. 이 DataFrame은 이전 모델에서 사용된 것과 동일합니다. 유일한 차이점은 이제 '날짜' 열에 분 단위의 타임스탬프가 포함된다는 것입니다.

수집 활동이 제대로 작동하려면 'date' 열이 datetime 객체여야 하며, pd.to_datetime() 함수가 이를 보장합니다.

이 섹션에서는 groupby() 메서드 내에서 pd.Grouper() 함수를 사용하여 15분("15T")의 전용 빈도를 사용하여 그룹화 작업을 수행합니다. 각 15분 간격에 대한 "값" 항목을 집계하기 위해 첫 번째 방법에서 사용된 것과 동일한 방법인 sum() 함수를 사용합니다.

15분 간격마다 '값' 열의 합계를 표시하는 새로운 그룹화된 DataFrame을 표시하여 코드를 완성합니다.

결론

Pandas의 강력한 기능에는 다양한 데이터 작업이 포함되며, 그 중 하나는 데이터를 시간 간격별로 그룹화하는 것입니다. pd.Grouper와 함께 groupby() 기능을 사용하면 일일 빈도 또는 사용자 지정 빈도를 기준으로 데이터를 효과적으로 분할할 수 있어 효율적이고 유연한 데이터 분석이 가능합니다.

시간 간격별로 데이터를 그룹화하는 기능을 통해 분석가와 기업은 데이터에서 의미 있는 통찰력을 추출할 수 있습니다. 일일 총 매출 계산, 시간당 평균 온도 계산, 15분마다 웹사이트 방문 횟수 계산 등의 작업을 수행할 때 시간 간격별로 데이터를 그룹화하면 시간 경과에 따른 데이터의 추세, 패턴 및 추세를 더 잘 이해할 수 있습니다.

Python의 Pandas 라이브러리는 강력한 데이터 분석 도구라는 것을 기억하세요. 그룹별 방법과 같은 기능을 사용하는 방법을 배우면 보다 효율적이고 능숙한 데이터 분석가 또는 데이터 과학자가 되는 데 도움이 될 수 있습니다.

위 내용은 Python Pandas에서 시간 간격별로 데이터를 그룹화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제