Pythonで扱う日付と時刻
Max Shron
Data Scientist and Author
# ドック外にいた平均時間
rides['Duration'].mean()
Timedelta('0 days 00:19:38.931034482')
# ドック外にいた合計時間
rides['Duration'].sum()
Timedelta('3 days 22:58:10')
# ドック外にいた時間の割合
rides['Duration'].sum() / timedelta(days=91)
0.04348417785917786
# 各ステーションでの開始回数を数える
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
# 期間(秒)列を追加 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
# 月ごとの平均期間
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
# グループごとの件数
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 ...
rides\
.resample('ME', on = 'Start date')\
['Duration seconds']\
.mean()\
.plot()

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

Pythonで扱う日付と時刻