首页 > 解决方案 > Python中WHERE CLAUSE的用法

问题描述

尝试用 Python 编写 SQL 查询。我有一个包含日期、ID 和金额列的数据框df

每个月我都会收到新的数据负载。我必须计算过去 12 个月内特定 ID 的平均金额(意味着我们将拥有该 ID 的 12 条记录)。

目前,我的方法是

M1 = pd.date_range(first_day_of_month, last_day_of_12_month, freq='D').strftime("%Y%d%m").tolist()
df["new"] = df[(df['date'].isin(M1))]['amount'].mean()

现在我想将此平均值作为新列上传,每个带有当前(最新)时间戳的 ID 的平均值为过去 12 个月的金额。尝试使用 groupby 但无法正确应用。

标签: pythonpython-3.x

解决方案


mask = d.date.between(datetime.datetime(2019,1,1),datetime.datetime(2019,12,31))
d[].groupby(['ID'])['amount'].mean()

我猜 ?也许 ?


推荐阅读