Pandas에서 datetime 데이터 요약

Python에서 날짜와 시간 다루기

Max Shron

Data Scientist and Author

Pandas에서 데이터 요약

# 평균 정박 이탈 시간
rides['Duration'].mean()
Timedelta('0 days 00:19:38.931034482')
# 총 정박 이탈 시간
rides['Duration'].sum()
Timedelta('3 days 22:58:10')
Python에서 날짜와 시간 다루기

Pandas에서 데이터 요약

# 정박 이탈 시간 비율
rides['Duration'].sum() / timedelta(days=91)
0.04348417785917786
Python에서 날짜와 시간 다루기

Pandas에서 데이터 요약

# 각 회원 유형별 시작 횟수 세기
rides['Member type'].value_counts()
Member 236
Casual  54
Name: Member type, dtype: int64
# 회원 유형별 주행 비율
rides['Member type'].value_counts() / len(rides)
Member 0.814 
Casual 0.186 
Name: Member type, dtype: float64
Python에서 날짜와 시간 다루기

Pandas에서 datetime 요약

# 지속 시간(초) 열 추가
rides['Duration seconds'] = rides['Duration'].dt.total_seconds()

# 회원 유형별 평균 지속 시간 rides.groupby('Member type')['Duration seconds'].mean()
Member type 
Casual 1994.667 
Member 992.280 
Name: Duration seconds, dtype: float64
Python에서 날짜와 시간 다루기

Pandas에서 datetime 요약

# 월별 평균 지속 시간
rides.resample('ME', on = 'Start date')['Duration seconds'].mean()
  • 자주 쓰는 빈도: D(일간), W(주간), ME(월말), YE(연말)
Start date 
2017-10-31 1886.454 
2017-11-30 854.175 
2017-12-31 635.101 
Freq: ME, Name: Duration seconds, dtype: float64
Python에서 날짜와 시간 다루기

Pandas에서 datetime 요약

# 그룹별 개수
rides.groupby('Member type').size()
Member type
Casual     54
Member    236
dtype: int64
# 그룹별 첫 번째 주행
rides.groupby('Member type').first()
            Duration     ...     
Member type              ...
Casual      02:07:02     ...        
Member      00:03:01     ...
Python에서 날짜와 시간 다루기

Pandas에서 datetime 요약

rides\
  .resample('ME', on = 'Start date')\
  ['Duration seconds']\
  .mean()\
  .plot()

Python에서 날짜와 시간 다루기

Pandas에서 datetime 요약

rides\
  .resample('D', on = 'Start date')\
  ['Duration seconds']\
  .mean()\
  .plot()

Python에서 날짜와 시간 다루기

Pandas에서 datetime 데이터 요약

Python에서 날짜와 시간 다루기

Preparing Video For Download...