是否可以按名称而不是级别重置DataFrame索引?

时间:2016-07-13 14:58:59

标签: python pandas

是否可以按名称删除索引?我正在多个地方删除并添加大量索引,如果我必须始终跟踪每个级别,我会发现它变得非常混乱。

我正在创建一个像这样的MultiIndex:

df = cass_df.groupby(['hash', 'campaign_id'])[['accepted', 'rejected', 'positive_impressions', 'negative_impressions', 'revenue']].sum()

目前我正在使用此代码删除第一个索引:

df = df.reset_index(level=0)

是否可以做这样的事情?

df = df.reset_index(level='hash')

1 个答案:

答案 0 :(得分:1)

是。您还可以添加inplace=True。您还可以删除aggaregate []中的双groupby

df = pd.DataFrame({'A':[2,2,3],
                   'B':[1,1,6],
                   'C':[7,8,9],
                   'D':[1,3,5],
                   'E':[5,3,6],
                   'F':[7,4,3]})

print (df)
   A  B  C  D  E  F
0  2  1  7  1  5  7
1  2  1  8  3  3  4
2  3  6  9  5  6  3

df = df.groupby(['A','B'])['C','D','E'].sum()
print (df)
      C  D  E
A B          
2 1  15  4  8
3 6   9  5  6

df.reset_index(level='A', inplace=True)
print (df)
   A   C  D  E
B             
1  2  15  4  8
6  3   9  5  6