使用 MultiIndex 进行 Tim 子集排列

2024-06-01 01:32:00 发布

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

我对熊猫的多重索引还不熟悉,但我有一个情况,它会有所帮助。我有一个带有多索引的df(在场景和最后一个),其结构如下:

                              ID                
ON_SCENE            LAST                                                    
2016-05-05 03:58:54 last1    1000            
2016-05-05 17:23:39 last1    1001             
2016-05-05 18:20:50 last1    1002             
2016-05-05 21:30:29 last2    1003           
2016-05-05 22:33:19 last2    1004  
2016-05-05 23:30:23 last3    1005
2016-05-06 00:08:34 last3    1006
2016-05-06 01:33:54 last3    1007

我想使用日期和姓氏将此数据子集,如下所示:

df.loc[j.strftime('%Y-%m-%d'),Last_Name]

其中j是类型datetime.date,Last_Name是带有姓氏的str。不幸的是,我一直收到一个密钥错误。我也尝试过:

    df[j.strftime('%Y-%m-%d')]
    df[Last_Name]

但这些也给了我一个关键的错误。不知道我做错了什么


Tags: nameiddfon错误场景情况scene
1条回答
网友
1楼 · 发布于 2024-06-01 01:32:00
In [103]: x.loc[('2016-05-05', 'last2'), :]
Out[103]:
                             ID
ON_SCENE            LAST
2016-05-05 21:30:29 last2  1003
2016-05-05 22:33:19 last2  1004

或者使用pd.indexlice:

In [104]: idx = pd.IndexSlice

In [105]: x.loc[idx['2016-05-05':'2016-05-06', 'last3'], :]
Out[105]:
                             ID
ON_SCENE            LAST
2016-05-05 23:30:23 last3  1005
2016-05-06 00:08:34 last3  1006
2016-05-06 01:33:54 last3  1007

Pandas Documentation with examples

相关问题 更多 >