使用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()