向多索引添加级别,删除而不丢失

2024-04-27 05:34:12 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个带多索引的DataFramedf,它的级别是L

有没有办法从索引中删除L并再次添加它?

df = df.index.drop('L')从数据帧中完全删除L(与具有drop参数的df= df.reset_index()不同)。 我当然可以。

现在,假设索引包含除L之外的所有内容,我想添加L。 df.index.insert(0, df.L)不起作用。 当然,我也可以打电话给df= df.reset_index().set_index(everything_including_L, inplace=True),但感觉不对。

为什么我需要这个?因为索引不必是唯一的,所以我可能希望添加一个新列,以便索引成为唯一的。在拆分数据后,索引的一个级别不再包含任何信息的情况下,删除可能很有用(例如,我的索引是A、B,我在A=x的df上操作,但我不希望丢失A,而A将与index.droplevel('A')一起发生)。


Tags: 数据内容df参数index级别dropinsert
1条回答
网友
1楼 · 发布于 2024-04-27 05:34:12

在当前版本(0.17.1)中,可以

df.set_index(column_to_add, append=True, inplace=True)

以及

df.reset_index(level=column_to_remove_from_index).

这与重置n列,然后将n+1添加到索引相比,有了显著的加速。

相关问题 更多 >