Python 3.x 如何为不使用panda的个人帐户创建月平均、季度平均取款金额的新列?

Python 3.x 如何为不使用panda的个人帐户创建月平均、季度平均取款金额的新列?,python-3.x,pandas,Python 3.x,Pandas,为个人用户提供结果,但不能按月提供 data.groupby(['Account No']).agg({ "WITHDRAWAL AMT": ["count", "sum"], "DEPOSIT AMT":["count", "sum"], "BALANCE AMT": ["count", "sum"]}) 对于单个用户,应该只有一行。有多种方法,我建议使用两种方法 首先: 添加一个grouper,即将您的

为个人用户提供结果,但不能按月提供

data.groupby(['Account No']).agg({ "WITHDRAWAL AMT": ["count", "sum"], "DEPOSIT AMT":["count", "sum"],
                                            "BALANCE AMT": ["count", "sum"]})

对于单个用户,应该只有一行。

有多种方法,我建议使用两种方法

首先: 添加一个grouper,即将您的groupby修改为

df.groupby(["Account No", pd.Grouper(key="Date", freq="M")]
第二: 从日期创建年和月列,并按日期分组。将您的联系人更改为:

df.assign(Year=lambda x: x["Date"].dt.year, Month=lambda x: x["Date"].dt.month)
  .groupby(["Account No", "Year", "Month"])
25美分硬币也是如此

现在,在对数据分组后,可以使用将grouper对象移动到列中,为每个用户创建一行


您需要对Quarter执行相同的操作,然后合并/合并数据帧。因此,这将是一个多步骤的方法。

欢迎使用So;请花一分钟看看如何正确格式化代码块;此外,这是一个标准的
pandas
问题,与
机器学习
无关-请不要发送不相关的标签(已删除)。您可以添加所需的输出吗?问题不清楚。列应该是:账号、提取金额的季度平均值(difrent列具有不同的季度平均值,如q1、q2……)问题仍然不够具体。您能否提供一个与按日期分组相关的列的输入和输出示例。我想创建具有季度或月度计数的列,如下所示:账号(列名):a,第一季度平均金额(列名):1500这并没有真正的帮助。我添加了一些关于如何使结果平坦化的评论。但你的问题需要更具体一些
df.assign(Year=lambda x: x["Date"].dt.year, Month=lambda x: x["Date"].dt.month)
  .groupby(["Account No", "Year", "Month"])