Векторизованный способ выбора списка диапазонов в Pandas - PullRequest
0 голосов
/ 27 февраля 2020

У меня есть данные временных рядов, которые я хочу выбрать в различных точках и добавить средства в список.

Вот пример кода:

import pandas as pd

dates = pd.date_range('20190101',periods=100, freq="min")
timeSeries = pd.DataFrame({"Time":dates,"Values":list(range(1,101))})
timeSeries.index = timeSeries.Time

startTimes = pd.to_datetime(["2019-01-01 00:00:00",
                             "2019-01-01 00:25:00",
                             "2019-01-01 00:50:00",
                             "2019-01-01 01:15:00"])
avgTime = pd.to_timedelta("10min")
samples = pd.DataFrame({"st":startTimes})

samples["means"] = samples.apply(lambda x: timeSeries.loc[x["st"]:x["st"]+avgTime,"Values"].mean(),axis=1)
print(samples["means"])

, который возвращает

0     6.0
1    31.0
2    56.0
3    81.0
Name: means, dtype: float64

Есть ли способ сделать это векторизованным способом, т.е. избегать использования samples.apply ()?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...