【发布时间】:2020-09-22 04:09:34
【问题描述】:
我有一个类似的数据框('df')(在此示例中进行了简化):
index | timestamp | value
================================
001 | 2020-09-20 07:00 | 1.4
002 | 2020-09-20 07:00 | 1.5
001 | 2020-09-20 09:00 | 1.6
002 | 2020-09-20 09:00 | 1.4
001 | 2020-09-20 11:00 | 1.23
002 | 2020-09-20 11:00 | 1.46
如果我这样做:
grouped = df.groupby('timestamp')
我现在有一个包含三个组的 groupby。我现在需要添加一个“date_time_trigger”列,其中包含一个基于组索引的值:
index | timestamp | value | date_time_trigger
================================================
001 | 2020-09-20 07:00 | 1.4 | triggergroup1
002 | 2020-09-20 07:00 | 1.5 | triggergroup1
001 | 2020-09-20 09:00 | 1.6 | triggergroup2
002 | 2020-09-20 09:00 | 1.4 | triggergroup2
001 | 2020-09-20 11:00 | 1.23 | triggergroup3
002 | 2020-09-20 11:00 | 1.46 | triggergroup3
然后我需要将这些组组合回原始数据框。我尝试简单地将列添加到原始数据框中,然后在组迭代器中更改其值:
idx=0
df['date_time_trigger']='foo'
grouped = df.groupby('timestamp')
for name,group in grouped:
idx=idx+1
group['date_time_trigger']='triggergroup'+str(idx)
据我所知,date_time_trigger 的值是在每个组内设置的,但是现在
我需要将该组重新组合到原始数据帧 df 中以继续我的过程。我可以在文档中找到的唯一方法是应用某种类型的聚合,例如平均值或平均值,但我只需要 groupby 将标签添加到每个组实例。如何取回我的数据框?
【问题讨论】:
标签: python pandas pandas-groupby