companies = users_file2.set_index('Created').Clean_Company2
companies = companies.groupby(pd.TimeGrouper(freq='W')).unique()
weekly = companies[:].apply(pd.Series).stack().drop_duplicates()
weekly = weekly.groupby(level=0).apply(lambda x: x.tolist())
weekly = weekly.apply(lambda x: len(x))
然后我继续执行drop_duplicates
以weekly
获得以下结果:
Created
2015-02-08 3
2015-02-15 1
2015-03-01 1
2015-06-21 8
2015-07-05 1
现在,我想用 0 填充缺失的周数。我玩过但遇到了一些奇怪的错误resample
,reindex
例如,在执行以下操作时:
df.resample('W').fillna(0)
我收到以下错误:
AttributeError: 'int' object has no attribute 'lower'
如果我注释掉fillna(0)
,我得到一个DatetimeIndexResampler
对象,我通过绘图检查过它,它没有做我想要的(不确定它在做什么,当我这样做时所有值都是二进制的,但它确实填满了所有星期)
索引是 a DateTimeIndex
,值是int64
。