Merge branch 'master' of http://192.168.0.114:3000/buddy/fincal
This commit is contained in:
commit
c453ff20e5
@ -805,7 +805,11 @@ class TimeSeries(TimeSeriesCore):
|
||||
return statistics.mean(self.values)
|
||||
|
||||
def transform(
|
||||
self, to_frequency: Literal["W", "M", "Q", "H", "Y"], method: Literal["sum", "mean"], eomonth: bool = False
|
||||
self,
|
||||
to_frequency: Literal["W", "M", "Q", "H", "Y"],
|
||||
method: Literal["sum", "mean"],
|
||||
eomonth: bool = False,
|
||||
anchor_date=Literal["start", "end"],
|
||||
) -> TimeSeries:
|
||||
"""Transform a time series object into a lower frequency object with an aggregation function.
|
||||
|
||||
@ -850,18 +854,21 @@ class TimeSeries(TimeSeriesCore):
|
||||
ensure_coverage=True,
|
||||
eomonth=eomonth,
|
||||
)
|
||||
prev_date = dates[0]
|
||||
# prev_date = dates[0]
|
||||
|
||||
new_ts_dict = {}
|
||||
for date in dates[1:]:
|
||||
cur_data = self[(self.dates >= prev_date) & (self.dates < date)]
|
||||
for idx, date in enumerate(dates):
|
||||
if idx == 0:
|
||||
cur_data = self[self.dates <= date]
|
||||
else:
|
||||
cur_data = self[(self.dates <= date) & (self.dates > dates[idx - 1])]
|
||||
if method == "sum":
|
||||
value = sum(cur_data.values)
|
||||
elif method == "mean":
|
||||
value = cur_data.mean()
|
||||
|
||||
new_ts_dict.update({prev_date: value})
|
||||
prev_date = date
|
||||
new_ts_dict.update({date: value})
|
||||
# prev_date = date
|
||||
|
||||
return self.__class__(new_ts_dict, to_frequency.symbol)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user