假设我有一个带有“A”列的数据框 df1。我按操作分组
df2 = df1.groupby(["A"]).sum()
创建一个新的数据框 df2。
当我显示新的数据帧 df2 时,我仍然可以看到 A 列,但是当我运行命令 df2.columns 来检查 df2 的列时,我可以看到索引不再显示 A 列。看来 df2 实际上并没有将 A 作为一列。为什么是这样?我该怎么做才能将 A 作为官方“列”保留在 df2 中?
假设我有一个带有“A”列的数据框 df1。我按操作分组
df2 = df1.groupby(["A"]).sum()
创建一个新的数据框 df2。
当我显示新的数据帧 df2 时,我仍然可以看到 A 列,但是当我运行命令 df2.columns 来检查 df2 的列时,我可以看到索引不再显示 A 列。看来 df2 实际上并没有将 A 作为一列。为什么是这样?我该怎么做才能将 A 作为官方“列”保留在 df2 中?
这是因为 groupby 自动在组外创建索引。您可以使用以下命令撤消此操作
reset_index()
:或者,您可以让它不使用参数执行此
as_index
操作: