簡體   English   中英

如何按日期列表過濾日期和小時的數據框?

[英]How to filter a dataframe of dates and hours by a list of dates?

我有以下數據框,有幾天,每 15 分鍾測量一次:

                 CONSUMPTION
2016-11-01 01:00:00  3539
2016-11-01 01:15:00  3560
2016-11-01 01:30:00  3505
....
2016-11-02 01:00:00  3400
2016-11-02 01:15:00  3447
....
2016-11-03 01:00:00  2400
2016-11-03 01:15:00  2447

如果要求簡單的一天,每一個都有效:

df['2016-11-01']

我得到了那天的所有測量值,96 個測量值:

    CONSUMPTION
2016-11-01 01:00:00  3539
2016-11-01 01:15:00  3560
2016-11-01 01:30:00  3505
....

我的問題是我想獲取日期列表,但這不起作用:

df[['2016-11-01','2016-11-03']]

我取得的最大成就是這個(但這不是我想要的,觀察到每天有 1 個度量,而不是我的 96 個預期度量):

qwe=['2016-11-01','2016-11-03']
df.ix[df.index.to_datetime().isin(qwe)]

            CONSUMPTION
2016-11-01  3539
2016-11-03  2400

任何想法將不勝感激......

將日期時間置於日期,然后使用isin和loc ie

li = ['2016-11-01','2016-11-02']
df.loc[(df.index.floor('D').isin(li)),:]

                    CONSUMPTION
Date                            
2016-11-01 01:00:00         3539
2016-11-01 01:15:00         3560
2016-11-01 01:30:00         3505
2016-11-02 01:00:00         3400
2016-11-02 01:15:00         3447

這工作數小時:

hours = [0, 6, 12, 18]
df.loc[(df.index.hour.isin(hours)),:]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM