use*_*329 12 python datetime pandas
我有一个充满日期的数据框,我想选择月份== 12和日期== 25的所有日期,并添加用xmas1 替换列中的零.
无论如何要做到这一点?我的代码的第二行错误了.
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
Run Code Online (Sandbox Code Playgroud)
Sha*_* RC 21
Series具有日期时间的熊猫现在表现不同.请参阅.dt访问器.
这就是现在应该怎么做:
df.loc[(df['date'].dt.day==25) & (cust_df['date'].dt.month==12), 'xmas'] = 1
Run Code Online (Sandbox Code Playgroud)
EdC*_*ica 13
基本上你尝试的东西不能用,因为你需要使用&比较数组,另外你需要使用括号因运算符优先级.除此之外,您应该使用它loc来执行索引:
df.loc[(df['date'].month==12) & (df['date'].day==25), 'xmas'] = 1
Run Code Online (Sandbox Code Playgroud)