【发布时间】:2020-10-13 16:57:34
【问题描述】:
我有一个这样的数据框: [2]:https://i.stack.imgur.com/D2buG.png
我想合并同一天的读数,然后加上它们并添加一个新列作为 day_total_read,我该怎么做?
例如索引 2-3、8-9、10-11
【问题讨论】:
-
你可以使用groupby
标签: pandas dataframe datetime merge aggregation
我有一个这样的数据框: [2]:https://i.stack.imgur.com/D2buG.png
我想合并同一天的读数,然后加上它们并添加一个新列作为 day_total_read,我该怎么做?
例如索引 2-3、8-9、10-11
【问题讨论】:
标签: pandas dataframe datetime merge aggregation
我不确定您将如何在当前表中添加一个新列,因为您将在几行上进行聚合,并且它不会是一对一的映射的行。不过,总的来说,您几乎是在描述 groupby 操作。
假设 df 是您的数据框,df.groupby("date").sum() 应该可以解决问题。
虽然这会返回一个新的数据框,所以如果您想将其合并回原始数据框作为一个新列(就像我说的那样,不会是一对一的,所以这里会有重复)你可能只想column-wise append,或者类似的东西
Here's 工作中的一个例子
【讨论】:
new_df版本,如果要合并回来,则为merged_df