0

日時型のシリーズ s1 があり、開始時刻と終了時刻の間の範囲を表す時刻があります。典型的な値は 7 日、4 時間 5 分などです。数の整数を含むシリーズ s2 があります。その時間帯に起こった出来事。

次の方法でイベント頻度を計算したい:

イベント頻度 = s1 / s2

エラーが発生します:

タイプdatetime64 [ns]またはtimedeltaのシリーズ/ ndarrayのrhsなしでシリーズを操作することはできません

これを修正する最良の方法は何ですか?

前もって感謝します!

s1 の例は次のとおりです。

some_id

1          2012-09-02 09:18:40
3          2012-04-02 09:36:39
4          2012-02-02 09:58:02
5          2013-02-09 14:31:52
6          2012-01-09 12:59:20

s2 の例は次のとおりです。

some_id
1           3
3           1
4           1
5           2
6           1
8           1
10          3
12          2
4

1 に答える 1

2

これはおそらくバグかもしれませんが、次のように基になる numpy 配列を操作することで機能します。

import pandas as pd
from pandas import Series

startdate = Series(pd.date_range('2013-01-01', '2013-01-03'))
enddate = Series(pd.date_range('2013-03-01', '2013-03-03'))

s1 = enddate - startdate
s2 = Series([2, 3, 4])

event_freq = Series(s1.values / s2)

シリーズは次のとおりです。

>>> s1
0   59 days, 00:00:00
1   59 days, 00:00:00
2   59 days, 00:00:00
dtype: timedelta64[ns]

>>> s2
0    2
1    3
2    4
dtype: int64

>>> event_freq
0   29 days, 12:00:00
1   19 days, 16:00:00
2   14 days, 18:00:00
dtype: timedelta64[ns]
于 2013-08-09T11:26:16.873 に答える