【发布时间】:2015-04-18 14:50:59
【问题描述】:
我有一个包含日期的数据框,我想选择月份==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
【问题讨论】:
-
你想要这个:
df.loc[(df['date'].month==12) & (df['date'].day==25), 'xmas'] = 1 -
为了更容易看到,你现在有了 datetime 属性,允许你写像
df['date'].dt.month == 12这样的东西。