我有一个充满日期的数据框,我想选择月份== 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
答案 0 :(得分:12)
基本上你尝试的东西不起作用,因为你需要使用&
来比较数组,另外你需要使用括号因操作符优先级。除此之外,您应该使用loc
来执行索引:
df.loc[(df['date'].month==12) & (df['date'].day==25), 'xmas'] = 1
答案 1 :(得分:11)