我有一个像这样分组的大型数据框:
dates = frame['DATE'].unique()
test2 = frame.groupby(['NAME','DATE']).sum()
#NAME DATE VALUE
AACT 20160602 186615450
20160603 186615450
20160604 186615450
20160605 186615450
20160606 186615450
20160607 186615450
20160608 186615450
20160609 186615450
201606010 186615450
BAML 20160602 21900000
20160603 21900000
20160604 21900000
20160605 21900000
20160606 21900000
20160607 21900000
20160608 21900000
20160609 21900000
201606010 21900000
201606011 21900000
201606012 21900000
201606013 21900000
201606014 21900000
我在这里尝试做的是通过名称键获取每个组,并通过逻辑检查迭代每个组的“DATE”列:
test2['STATUS'] = test2['DATE'].isin(dates).map({True:'Update',False:'Delete'})
因此,基本上'ACCT'项目将在20160610之后删除任何内容,因为没有值。
上面的公式不起作用并给我一个'KeyError',我假设因为我没有正确引用该组。如何在每个组项上运行此逻辑?
对于每个名称组,所需的输出应该是这样的:
#NAME DATE VALUE STATUS
AACT 20160602 186615450 Update
20160603 186615450 Update
20160604 186615450 Update
20160605 186615450 Update
20160606 186615450 Update
20160607 186615450 Update
20160608 186615450 Update
20160609 186615450 Update
201606010 186615450 Update
20160611 Delete