使用writer.save()将Pandas Data Frame加载到Excel中并获取索引错误

我使用numpy大小来聚合一个Pandas DF,然后想使用writer.save将结果加载到Excel中。 但是我收到以下错误: NotImplementedError:用MultiIndex写入Excel尚未实现。

我的数据看起来像这样:

agt_id unique_id abc123 ab12345 abc123 cd23456 abc123 de34567 xyz987 ef45678 xyz987 fg56789 

我的结果应该是这样的:

 agt_id unique_id abc123 3 xyz987 2 

这是我的代码的一个例子:

 df_agtvol = df_agt.groupby('agt_id').agg({'unique_id':[np.size]}) writer = pd.ExcelWriter(outfilepath, engine='xlsxwriter') df_agtvol.to_excel(writer, sheet_name='agt_vols') 

我试图重置索引使用:

 df_agt_vol_final = df_agtvol.set_index([df_agtvol.index, 'agt_id'], inplace=True) 

基于一些研究,但是得到一个完全不同的错误。

我对Pandas数据框的工作相对比较陌生,所以任何帮助,将不胜感激。

你不需要一个MultiIndex。 你得到一个的原因是np.size包装在一个列表中。

虽然没有明确logging , Pandas则将列表中的所有内容解释为'unique_id'的子索引。 该用例属于链接文档中的“名称嵌套字典 – function字典”情况。

所以

 df_agtvol = df_agt.groupby('agt_id').agg({'unique_id':[np.size]}) 

应该

 df_agtvol = df_agt.groupby('agt_id').agg({'unique_id': np.size}) 

这仍然过于复杂,您可以通过调用count方法获得相同的结果。

 df_agtvol = df_agt.groupby('agt_id').count()