按月大熊猫过滤列

时间:2018-02-10 13:25:16

标签: pandas

我有一个数据框,其中的列是日期时间变量,格式为year-mm-dd。

我想过滤数据框,以便我只有特定月份的列。我在整个论坛上搜索过,找不到任何处理列为datetime的人,只有索引。

最好,

1 个答案:

答案 0 :(得分:2)

loc需要boolean indexing

df = df.loc[:, df.columns.month == 1]

<强>示例

rng = pd.date_range('2017-01-03', periods=5, freq='3M')
df = pd.DataFrame({'a': range(5)}, index=rng).T
print (df)
   2017-01-31  2017-04-30  2017-07-31  2017-10-31  2018-01-31
a           0           1           2           3           4

df = df.loc[:, df.columns.month == 1]
print (df)
   2017-01-31  2018-01-31
a           0           4