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
对象,我已经通过绘图检查过,没有做我想要的事情(不确定它在做什么,所有值都是二进制的当我这样做,但它确实填写了所有的几周)
索引为DateTimeIndex
,值为int64
。