
当我们成功运行出一段数据时,不一定里面的内容都是我们所需要的,其中代码有重复的地方必须进行筛除。当需要筛除的数据变成了时间时,我们似乎又可以选择其他的方法进行去重。就比如datetime完全可以做到这一点,相信小伙伴们比较惊讶,我们往下看:
主要分为以下两点
1).index.is_unique检查索引日期是否是唯一的
2)对非唯一时间戳的数据进行聚合,通过groupby,并传入level = 0(索引的唯一一层)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | dates = pd.DatetimeIndex([ '2017/06/01' , '2017/06/02' , '2017/06/02' , '2017/06/02' , '2017/06/03' ])
dates
DatetimeIndex([ '2017-06-01' , '2017-06-02' , '2017-06-02' , '2017-06-02' ,
'2017-06-03' ],
dtype= 'datetime64[ns]' , freq=None)
dup_ts = pd.Series(np.arange(5),index = dates)
dup_ts
2017-06-01 0
2017-06-02 1
2017-06-02 2
2017-06-02 3
2017-06-03 4
dtype: int32
dup_ts.index.is_unique
False
dup_ts[ '2017-06-02' ]
2017-06-02 1
2017-06-02 2
2017-06-02 3
dtype: int32
grouped = dup_ts.groupby(level=0).mean()
grouped
2017-06-01 0
2017-06-02 2
2017-06-03 4
dtype: int32
dup_df = pd.DataFrame(np.arange(10).reshape((5,2)),index = dates )
dup_df
0 1
2017-06-01 0 1
2017-06-02 2 3
2017-06-02 4 5
2017-06-02 6 7
2017-06-03 8 9
grouped_df = dup_df.groupby(level=0).mean() ##针对DataFrame
grouped_df
|
在筛选重复的时间方面,datetime同样可以做到,这可能是很多小伙伴没有想到的结果,是不是意外的收获呢~更多Python学习推荐:PyThon学习网教学中心。