熊猫:选择具有特定月份和日期的所有日期

时间:2015-02-17 19:22:26

标签: python datetime pandas

我有一个充满日期的数据框,我想选择月份== 12和日期== 25的所有日期,并添加xmas列中的零替换为1。

无论如何要这样做?我的代码的第二行错误了。

df = DataFrame({'date':[datetime(2013,1,1).date() + timedelta(days=i) for i in range(0,365*2)], 'xmas':np.zeros(365*2)})

df[df['date'].month==12 and df['date'].day==25] = 1

2 个答案:

答案 0 :(得分:12)

基本上你尝试的东西不起作用,因为你需要使用&来比较数组,另外你需要使用括号因操作符优先级。除此之外,您应该使用loc来执行索引:

df.loc[(df['date'].month==12) & (df['date'].day==25), 'xmas'] = 1

答案 1 :(得分:11)

带有日期时间的Pandas radio-Yes现在表现不同。请参阅.dt accessor

现在应该这样做:

Series