pandas 分组并记录添加

pandas group by and log add

我的第一个数据框是这样的:

我需要按日期分组并在“SEL”列添加日志

所以,我可以像这样按日期分组:

df.groupby([df.index.date])["SEL"]

但是公式是

> 10*math.log10(10**(df["SEL"]/10).sum())

有人可以帮帮我吗?

首先我使用了:

temp=0
for index,row in df.iterrows():
    temp+=10**(row["SEL"]/10)
sumadd=10*math.log10(temp)

这是唯一的方法吗?

这是几天的输出示例:

创建新列 GroupBy.transform and set missing values to all column per date without last by Series.mask:

dates = df.index.normalize()
df['new'] = (10*np.log10((10**(df["SEL"]/10)).groupby(dates).transform('sum'))
                   .mask(dates.duplicated(keep='last')))