Мой первый фрейм данных таков:
Мне нужно сделать группу по дате И добавить журнал в столбец "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 и установите отсутствующие значения для всех столбцов за дату без последнего с помощью Series.mask:
dates = df.index.normalize()
df['new'] = (10*np.log10((10**(df["SEL"]/10)).groupby(dates).transform('sum'))
.mask(dates.duplicated(keep='last')))
Спасибо, но это неправильно. SUM должен быть в 10**(df["SEL"]/10), а не во всей формуле: 10*np.log10(10**(df["SEL"]/10))
Как выглядит ожидаемый результат из выборочных данных? Можете ли вы добавить их к вопросу? Потому что, честно говоря, трудно протестировать решение без вывода/
@Kwentinus - ответ был отредактирован.
Я вижу редактирование, других значений в
Cне существует?