选择具有特定年份和月份的行

时间:2014-01-28 07:03:25

标签: python python-2.7 pandas dataframe

My Dataframe看起来像这样

 2013-12-25 |
 2013-12-25 |
 2013-12-25 |
 2013-12-25 |
 2013-12-25 |
 ....
 ....
 2014-01-01 |
 2014-01-01 |
 2014-01-01 |
 2014-01-01 |
 2014-01-01 |
 2014-01-01 |
 2014-01-01 |
 2014-01-01 |

我必须选择2014年和月份为01的所有行。

我怎样才能继续?

1 个答案:

答案 0 :(得分:2)

这可能不是最恐怖的方式,但你可以在日期上切片。

df[(df['datecol'] >= pd.datetime(2014, 1, 1)) & (df['datecol'] <= pd.datetime(2014, 1, 31))]

或者,您可以为月份和年份的布尔选择创建标准的地图。

crit1 = df['datecol'].map(lambda x : x.year == 2014)
crit2 = df['datecol'].map(lambda x : x.month == 1)

df[crit1 & crit2]