python groupby语句仅保留聚合字段

时间:2018-06-19 17:54:19

标签: python pandas dataframe

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

1 个答案:

答案 0 :(得分:0)

对自己进行故障排除后,我意识到python的groupby函数返回具有层次结构索引的GroupBy对象。添加了分组的列作为汇总值的索引。为了解决这个问题,我在groupby语句的末尾添加了.reset_index()