小编Gui*_*and的帖子

仅重新索引 MultiIndex 数据帧的级别,reindex() 损坏了吗?

我尝试仅在一个级别上重新索引具有两个或多个索引的数据帧,但.reindex()level参数一起使用,正如我在此答案中看到的那样,除了预期的行为之外,似乎什么都不做。

这是我尝试使用的代码:

import pandas as pd

dtest = pd.DataFrame([['Martin', 'room_1', 3],
                      ['Martin', 'room_2', 2],
                      ['Georges', 'room_2', 4],
                      ['Georges', 'room_1', 12]],
                     columns=['name', 'room', 'time_spent'])
dtest.set_index(['name', 'room',], inplace=True)
display(dtest)
print(dtest.reindex(
    ['room_1', 'room_2', 'room_3'], level=1, fill_value=0))
Run Code Online (Sandbox Code Playgroud)

哪个输出

                time_spent
name    room              
Martin  room_1           3
        room_2           2
Georges room_1          12
        room_2           4
Run Code Online (Sandbox Code Playgroud)

而我期待的输出是

                time_spent
name    room              
Martin  room_1           3
        room_2           2
        room_3           0
Georges room_1          12
        room_2           4
        room_3           0
Run Code Online (Sandbox Code Playgroud)

reindex() 字面上什么也没做。

我是否错过了使用的重要细节,reindex或者有什么东西坏了?

我正在使用 Python 3.6.7 (v3.6.7:6ec5cf24b7, …

python pandas

5
推荐指数
1
解决办法
395
查看次数

标签 统计

pandas ×1

python ×1