Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Pandas DataFrame을 사용한 처리 시간

<시간/>

이 기사에서는 내장 pandas 라이브러리를 사용하여 다양한 타임스탬프를 생성 및 처리하는 방법에 대해 알아봅니다. 또한 numpy 모듈을 사용하여 타임스탬프 생성에 필요한 데이터베이스를 생성하고 수정합니다.

선호하는 IDE:Jupyter 노트북

이 튜토리얼을 시작하기 전에 pandas와 numpy 라이브러리를 설치해야 합니다. 이 jupyter 노트북은 코드를 테스트하고 실행하기에 가장 좋은 장소입니다. pandas를 설치하려면 다음 명령을 실행해야 합니다.

>>> pip install pandas

이 명령을 실행하면 모든 종속성이 자동으로 설치됩니다. 완료되면 변경 사항을 확인하려면 커널을 다시 시작해야 합니다.

모든 종속성을 설치한 후 pandas를 'p'로 가져올 수 있습니다.

여기에서 데이터 프레임 생성자를 호출하고 날짜 인수에서 기간 4 및 빈도 2시간으로 데이터베이스를 초기화합니다. 키 '시간'을 지정하여 데이터베이스를 표시합니다.

>>> pip install pandas
>>> import pandas as p
>>> data_struct = p.DataFrame()
>>> data_struct['time'] = p.date_range('14/7/2019', periods = 4, freq='3H')
>>> print(data_struct['time'])
0 2019-07-14 00:00:00
1 2019-07-14 03:00:00
2 2019-07-14 06:00:00
3 2019-07-14 09:00:00
Name: time, dtype: datetime64[ns]

.dt.을 사용하여 기능을 추출합니다. head() 메서드를 사용하여 데이터베이스의 모든 행을 표시합니다.

>>> data_struct['year'] = data_struct['time'].dt.year
>>> data_struct.head(4)
   time
0 2019-07-14 00:00:00 2019
1 2019-07-14 03:00:00 2019
2 2019-07-14 06:00:00 2019
3 2019-07-14 09:00:00 2019

여기서는 numpy 모듈에 있는 .array() 함수를 구현하여 시간 문자열을 생성했습니다. 이 문자열은 pandas 라이브러리의 .to_datetime() 메서드를 사용하여 DateTime으로 변환됩니다.

>>> import numpy as n
>>> dt_timestring = n.array(['14-07-2019 07:26 AM', '13-07-2019 11:01 PM'])
>>> timestamps = [p.to_datetime(date, format ="%d-%m-%Y %I:%M %p", errors ="coerce") for date in dt_timestring]
>>> print(timestamps)
[Timestamp('2019-07-14 07:26:00'), Timestamp('2019-07-13 23:01:00')]

여기서는 .set_index() 메서드를 사용하여 '날짜' 필드가 먼저 표시됨을 의미하는 날짜로 데이터베이스를 인덱싱합니다.

>>> data_struct1 = p.DataFrame()
>>> data_struct1['date'] = p.date_range('18/07/2019', periods = 5, freq ='2H')
>>> data_struct1= data_struct1.set_index(data_struct1['date'])
>>> print(data_struct1.head(5))
   date
date
2019-07-18 00:00:00 2019-07-18 00:00:00
2019-07-18 02:00:00 2019-07-18 02:00:00
2019-07-18 04:00:00 2019-07-18 04:00:00
2019-07-18 06:00:00 2019-07-18 06:00:00
2019-07-18 08:00:00 2019-07-18 08:00:00

데이터베이스의 특정 데이터 세트만 표시하려면 아래에 설명된 대로 명령을 구현할 수 있습니다. -

>>> data_struct2 = p.DataFrame()
>>> data_struct2['date'] = p.date_range('17/07/2019', periods =3, freq ='4H')
>>> print(data_struct2.head(5))
   date
0 2019-07-17 00:00:00
1 2019-07-17 04:00:00
2 2019-07-17 08:00:00
>>> inp = data_struct2[(data_struct2['date'] > '2019-07-17 04:00:00')]
>>> print(inp)
   date
2 2019-07-17 08:00:00

결론

이 기사에서 우리는 다양한 방법으로 튜플을 묶고 푸는 방법을 배웠습니다.