如何找到一个系列中多个组的总和?

时间:2019-04-29 23:23:40

标签: python python-3.x pandas dataframe series

我有一系列简短的〜60个值。我需要做的是找到系列中24个连续值的最大和。

例如我将需要能够找到组[0:23],[1:24],[2:25],[3:26],...,[37:60]的总和总和最大。

2 个答案:

答案 0 :(得分:0)

您可以在意甲上使用滚动方法: serie.rolling(24).sum()

直接获取最大值 max_idx = serie.rolling(24).sum().idxmax()

您的兴趣范围是{​​{1}}(从索引[max_idx-24+1:max_idx]到索引max_idx - 24 + 1(都包括在内),因此如果要使用max_idx来检索这些元素,请小心。应该没问题,但是如果要返回原始列表或使用.loc,则必须转到iloc

答案 1 :(得分:0)

由于您的<?php $feed = file_get_contents('test.xml'); $properties = simplexml_load_string($feed); foreach ($properties as $property) { foreach($property->images[0] as $image) { print($image['url'] . "\n"); } } 很小,因此您可以使用简单的Series理解:

dict

输出:

import numpy as np
import pandas as pd

from operator import itemgetter

s = pd.Series(np.random.randint(1, 10, size=60))

result = {f'{i} - {i + 24}': s[i:i + 24].sum() for i in range(len(s) - 24)}

max(result.items(), key=itemgetter(1))[0]