Pandas 行的多级索引

Pandas 行的多级索引,pandas,multi-index,Pandas,Multi Index,这应该是一件简单的事情,但经过几个小时的搜索,我仍然不知道我做错了什么 我尝试过使用multiindex.from和其他多种方法,但我就是做不好 我需要这样的东西: 但我得到的却是: 我做错了什么 import pandas as pd list_of_customers = ['Client1', 'Client2', 'Client3'] stat_index = ['max', 'current', 'min'] list_of_historic_timeframes = ['16:

这应该是一件简单的事情,但经过几个小时的搜索,我仍然不知道我做错了什么

我尝试过使用multiindex.from和其他多种方法,但我就是做不好

我需要这样的东西:


但我得到的却是:
我做错了什么

import pandas as pd

list_of_customers = ['Client1', 'Client2', 'Client3']
stat_index = ['max', 'current', 'min']
list_of_historic_timeframes = ['16:10', '16:20', '16:30']

timeblock = pd.DataFrame(index=([list_of_customers, stat_index]), columns=list_of_historic_timeframes)
timeblock.fillna(0, inplace=True)

print(timeblock)

令人惊叹的!非常感谢你。即使在看了多个例子之后,我还是错误地使用了MultiIndex,并使用了错误的from。我知道如何使用多维Numpy数组,但由于某些原因,我没有正确地解决这些问题。我可以更新整行,但无法正确指定列。
timeblock.loc[('Client1','min'),'16:20']=3
再次感谢。我很接近,但不是很正确。这在示例代码中非常有效,但在我的真实数据中添加了一个新列。我认为这与原始列标题采用datetime格式和添加为字符串有关,但我可以解决这个问题。再次感谢!帮了大忙。
list_of_customers = ['Client1', 'Client2', 'Client3']
stat_index = ['max', 'current', 'min']
list_of_historic_timeframes = ['16:10', '16:20', '16:30']


timeblock = pd.DataFrame(
    0,
    pd.MultiIndex.from_product(
        [list_of_customers, stat_index],
        names=['Customer', 'Stat']
    ),
    list_of_historic_timeframes
)

print(timeblock)

                  16:10  16:20  16:30
Customer Stat                        
Client1  max          0      0      0
         current      0      0      0
         min          0      0      0
Client2  max          0      0      0
         current      0      0      0
         min          0      0      0
Client3  max          0      0      0
         current      0      0      0
         min          0      0      0