onetwoonexu Asked:2020-04-16 17:07:41 +0800 CST2020-04-16 17:07:41 +0800 CST 2020-04-16 17:07:41 +0800 CST 创建 pandas 多索引 772 请帮我处理多索引。有一个数据框 我想按 ID: 合并数据df.set_index([df.ID, df.index]),在这种情况下,正如预期的那样,我得到了 但我需要第二个索引的编号从每个 ID 的零开始。所以: 可以这样做:df.set_index([df.ID, [0, 1, 2, ...]*n), n 是 ID 的数量,但我没有每个 ID 的固定数量的元素。 请帮助,我该怎么做。 pandas 1 个回答 Voted Best Answer splash58 2020-04-16T17:48:35+08:002020-04-16T17:48:35+08:00 您可以创建一个临时列并将其用作索引的第二级 >>> df['level1'] = df.groupby('ID').cumcount() >>> df ID col level1 0 id_1 3 0 1 id_1 4 1 2 id_1 1 2 3 id_2 2 0 4 id_2 3 1 >>> df.set_index(['ID', 'level1'], drop=True) col ID level1 id_1 0 3 1 4 2 1 id_2 0 2 1 3
您可以创建一个临时列并将其用作索引的第二级