Pandas DF的每周,每天和同比计算

我有一天以下数据框:

    BillDate    S2Rate
4   2019-06-04  4686.5
3   2019-06-03  1557.5
2   2019-05-21  10073.5
1   2019-05-19  6501.5
0   2019-05-18  1378.0

我想计算WoW百分比,使用此数据增加或减少WoW。我该怎么做?

我又该如何在同比和日复一日中复制它?

tianyingqi020 回答:Pandas DF的每周,每天和同比计算

您应该使用resample。然后,您可以使用pct_changediff之类的函数来获取差异:

# df["BillDate"] = pd.to_datetime(df["BillDate"])

week_over_week = df.set_index("BillDate").resample("W").sum()
week_over_week_pct = week_over_week.pct_change()
week_over_week_increase = week_over_week.diff()

您可以将resample的参数每天替换为"D",将"Y"替换为一年,并使用许多其他选项替换更复杂的时间范围。

,

将BillDate强制设置为日期时间后,将其设置为索引

df.set_index(pd.to_datetime(df['BillDate']),inplace=True)
df

现在将其移至索引,摆脱列中的BillDate

df.drop(columns=['BillDate'],inplace=True)

Resample到要求的时间,计算总和和percentage change

df.resample('W')['S2Rate'].sum().pct_change().to_frame()

请注意,重新采样是采用该时间段的最后一个值。

'W'-将日期设置为星期日

'M'-将日期设置为一个月中的最后一个日期

本文链接:https://www.f2er.com/2463396.html

大家都在问