我有以下格式的数据
输入>
import pandas as pd
dataframe = pd.DataFrame({'value':[1,2,3,4,5], 'groupings':['groupa','groupa','groupa','groupa','groupb'], 'timestamp':['yyyy-mm-dd 00:16:35.111','yyyy-mm-dd 00:16:45.111','yyyy-mm-dd 00:16:30.111','yyyy-mm-dd 00:16:35.411','yyyy-mm-dd 00:16:35.211']})
输出>
groupings timestamp value
0 groupa yyyy-mm-dd 00:16:35.111 1
1 groupa yyyy-mm-dd 00:16:45.111 2
2 groupa yyyy-mm-dd 00:16:30.111 3
3 groupa yyyy-mm-dd 00:16:35.411 4
4 groupb yyyy-mm-dd 00:16:35.211 5
我想在同一组中的时间戳的1秒内创建另一列和所有值,例如
groupings timestamp value sum
0 groupa yyyy-mm-dd 00:16:35.111 1 5
1 groupa yyyy-mm-dd 00:16:45.111 2 2
2 groupa yyyy-mm-dd 00:16:30.111 3 3
3 groupa yyyy-mm-dd 00:16:35.411 4 5
4 groupb yyyy-mm-dd 00:16:35.211 5 5
我该怎么做呢?先感谢您,
编辑:要清楚,我并不是指那个确切秒的所有值的总和 . 例如,00:16:34.899的值仍然在00:16:35.011的1秒内 .
1 回答
尝试将
dataframe
复制为新的df
变量,并在每个日期时间的所有秒处df
生成'timestamp'
列,然后在dataframe
中创建一个新列'sum'
,并使其成为groupby的每个组'value'
列的总和:Update:
我终于按预期工作了:
现在:
是期望的输出 .