f**********d 发帖数: 4960 | 1 我的数据是一个array list: [e1, e2, e3, ..., en].
每个e是一个事件:[timestamp, value].
我有一组时间段: 第一周,前2周,前3周,。。。,前m周。
对每个时间段,我要把所有落在此时间段的事件的value取均值。
我现在要找出最快的算法,因为要重复试验多次。
所以求教算法大人,
因为时间段是积累的,应该有些巧妙解法。 | g*****g 发帖数: 34805 | 2 Save the number of events and average value of every week and calc delta
should be straightforward. You can also save daily/hourly value if that
helps.
【在 f**********d 的大作中提到】 : 我的数据是一个array list: [e1, e2, e3, ..., en]. : 每个e是一个事件:[timestamp, value]. : 我有一组时间段: 第一周,前2周,前3周,。。。,前m周。 : 对每个时间段,我要把所有落在此时间段的事件的value取均值。 : 我现在要找出最快的算法,因为要重复试验多次。 : 所以求教算法大人, : 因为时间段是积累的,应该有些巧妙解法。
| d******e 发帖数: 2265 | 3 pandas
或者有用r
【在 f**********d 的大作中提到】 : 我的数据是一个array list: [e1, e2, e3, ..., en]. : 每个e是一个事件:[timestamp, value]. : 我有一组时间段: 第一周,前2周,前3周,。。。,前m周。 : 对每个时间段,我要把所有落在此时间段的事件的value取均值。 : 我现在要找出最快的算法,因为要重复试验多次。 : 所以求教算法大人, : 因为时间段是积累的,应该有些巧妙解法。
| s*i 发帖数: 5025 | 4 Moving average
[发表自未名空间手机版 - m.mitbbs.com]
【在 f**********d 的大作中提到】 : 我的数据是一个array list: [e1, e2, e3, ..., en]. : 每个e是一个事件:[timestamp, value]. : 我有一组时间段: 第一周,前2周,前3周,。。。,前m周。 : 对每个时间段,我要把所有落在此时间段的事件的value取均值。 : 我现在要找出最快的算法,因为要重复试验多次。 : 所以求教算法大人, : 因为时间段是积累的,应该有些巧妙解法。
| f**********d 发帖数: 4960 | 5 yes, this will be basically the same as goodbug mentioned.
【在 s*i 的大作中提到】 : Moving average : : [发表自未名空间手机版 - m.mitbbs.com]
| f**********d 发帖数: 4960 | 6 my understanding about pandas in this situation is that we need a column of
the data frame as the index, then use some convenient functions in pandas to
select data in a specific time period.
is this what you try to say?
【在 d******e 的大作中提到】 : pandas : 或者有用r
| ET 发帖数: 10701 | 7 typical moving average problem
【在 f**********d 的大作中提到】 : 我的数据是一个array list: [e1, e2, e3, ..., en]. : 每个e是一个事件:[timestamp, value]. : 我有一组时间段: 第一周,前2周,前3周,。。。,前m周。 : 对每个时间段,我要把所有落在此时间段的事件的value取均值。 : 我现在要找出最快的算法,因为要重复试验多次。 : 所以求教算法大人, : 因为时间段是积累的,应该有些巧妙解法。
| d****n 发帖数: 1637 | 8 +1
【在 ET 的大作中提到】 : typical moving average problem
| d******e 发帖数: 2265 | 9 你这个就是time series 数据。那么时间做index,
value做column.
然后,你可以做rolling,还是做asfreq to week,还是各种时间上slice, reshape.
你都有轮子。
of
to
【在 f**********d 的大作中提到】 : my understanding about pandas in this situation is that we need a column of : the data frame as the index, then use some convenient functions in pandas to : select data in a specific time period. : is this what you try to say?
| b*******s 发帖数: 5216 | 10 sorted by time?
【在 f**********d 的大作中提到】 : 我的数据是一个array list: [e1, e2, e3, ..., en]. : 每个e是一个事件:[timestamp, value]. : 我有一组时间段: 第一周,前2周,前3周,。。。,前m周。 : 对每个时间段,我要把所有落在此时间段的事件的value取均值。 : 我现在要找出最快的算法,因为要重复试验多次。 : 所以求教算法大人, : 因为时间段是积累的,应该有些巧妙解法。
| r****a 发帖数: 1212 | 11 不用什么算法,一遍一遍计算,也就m*n次,如果n很大,时间复杂度就是o(n)。
就算数据是排好队的,把前面的数据保存起来后面用,能快点,但还是o(n)。 |
|