我有数据框
df
如下所示:
start_time end_time count
0 2020-02-03 08:42:21.997 2020-02-03 09:34:18.737 3116
1 2020-02-03 09:34:18.837 2020-02-03 10:16:56.583 2557
2 2020-02-03 10:17:00.480 2020-02-03 13:18:51.540 10911
3 2020-02-03 13:18:51.640 2020-02-03 14:01:23.263 2551
4 2020-02-03 14:01:23.363 2020-02-03 14:43:56.977 255
我想按
date
只有
start_time
列和总和全部对应
count
同一天的值。我从中找到了一个相关的答案
post
使用此方法:
data.groupby(data.date.dt.year)
但是,我收到了错误消息:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-46-7618d5285bb9> in <module>()
1
----> 2 df.groupby(df.date.dt.year) # Adding ['start_time'] will return 'AttributeError: 'Series' object has no attribute 'date''.
3
4
5
/usr/local/lib/python3.6/dist-packages/pandas/core/generic.py in __getattr__(self, name)
5177 if self._info_axis._can_hold_identifiers_and_holds_name(name):
5178 return self[name]
-> 5179 return object.__getattribute__(self, name)
5180
5181 def __setattr__(self, name, value):
AttributeError: 'DataFrame' object has no attribute 'date'
问题是什么以及如何将这些非唯一日期时间值分组到
开始时间
按列
仅限日期
编辑:
import datetime
df['date'] = df['start_time'].dt.date # Group by 'date' of 'datetime' column
df.groupby('date').sum() # Sum
但我想知道我是否可以直接做,可能是更直接的事情,如前面文章中的答案所示的一行。