frame = frame2.groupby(['name1', 'name2', 'date', 'agID','figi', 'exch', 'figi', 'marketSector','name','fx_currency', 'id_type', 'id', 'currency']).agg({'call_agreed_amount' : 'sum' , 'pledge_current_market_value' : 'sum', 'pledge_quantity' : 'sum', 'pledge_adjusted_collateral_value' : 'sum', 'count' : 'count'})
print(frame.head())
for value in frame['call_currency']:
doStuff()
在上面的代码中,所有列都在groupby语句之前。执行groupby语句后,frame.head()
返回所有相同的列。我的代码在我的for循环中失败,尝试访问KeyError
的{{1}} frame['call_currency']
中有frame
。
答案 0 :(得分:0)
对自己进行故障排除后,我意识到python的groupby函数返回具有层次结构索引的GroupBy对象。添加了分组的列作为汇总值的索引。为了解决这个问题,我在groupby语句的末尾添加了.reset_index()
。