我有一个熊猫DataFrame,索引上有datetime.time,列上有datetime.date。例如。

df =

          2006-02-01  2006-02-02     ...      2006-05-29  2009-06-01
08:00:00     1.45685     1.43830     ...         1.41020     1.42045
08:00:01     1.45685     1.43825     ...         1.41030     1.42040
08:00:02     1.45685     1.43810     ...         1.41025     1.42050
08:00:03     1.45685     1.43825     ...         1.41025     1.42060
...


我只想从2006年中选择列。如何做到这一点的最简单,最快的方法?

我发现df.T ['2006']。T可以解决问题,但是它涉及两个转置。不能直接在列上完成吗?

最佳答案

如果您的列是datetime.date对象,请尝试:

df.loc[:, '2006-01-01':'2006-12-31']

10-06 11:15