假设有一个datetimeIndex为dates的数据框df:
import pandas as pd
import numpy as np
dates = pd.date_range('20210101', periods=6, freq='D')
df = pd.DataFrame(np.random.randn(6, 3), index=dates, columns=list('ABC'))
print(df)
输出:
A B C
2021-01-01 0.992037 0.057480 -2.356308
2021-01-02 0.526127 -1.553899 -0.767318
2021-01-03 1.335307 0.306994 -0.717173
2021-01-04 -0.038492 0.087951 -1.040403
2021-01-05 0.111606 0.900450 -0.073411
2021-01-06 0.421496 0.286432 -0.734744
要筛选1月1日(包括)以后的所有行,需要使用:
df.loc['20210101':]
输出:
A B C
2021-01-01 0.992037 0.057480 -2.356308
2021-01-02 0.526127 -1.553899 -0.767318
2021-01-03 1.335307 0.306994 -0.717173
2021-01-04 -0.038492 0.087951 -1.040403
2021-01-05 0.111606 0.900450 -0.073411
2021-01-06 0.421496 0.286432 -0.734744
需要注意的是上述代码是包含了下边界的。如果不想包含下边界,可以使用:
df.loc['20210102':]
输出:
A B C
202