Python 使用datetime索引创建新列

Python 使用datetime索引创建新列,python,Python,如果datetme索引小于某个日期,我将尝试创建一个值为1的新列,如果大于某个日期,则创建一个值为零的列。我尝试了下面的代码,但没有按预期工作(前四天没有用1编码) datetime\u index=pd.date\u范围(开始时间为2018-01-01',结束时间为2019-12-31',频率为D') df=pd.DataFrame({},index=datetime\u index) df['Vacation']=np.where((df.index>='2018-01-04')&(df.i

如果datetme索引小于某个日期,我将尝试创建一个值为1的新列,如果大于某个日期,则创建一个值为零的列。我尝试了下面的代码,但没有按预期工作(前四天没有用1编码)

datetime\u index=pd.date\u范围(开始时间为2018-01-01',结束时间为2019-12-31',频率为D')
df=pd.DataFrame({},index=datetime\u index)

df['Vacation']=np.where((df.index>='2018-01-04')&(df.index)您的条件是
(df.index>='2018-01-04')&(df.index)我想我在这个问题上不清楚。现在编辑它。我基本上想创建一个值1,如果日期小于1月4日,则为零。所以您只需要
(df.index
datetime_index = pd.date_range(start='2018-01-01', end='2019-12-31', freq='D')
df = pd.DataFrame({}, index=datetime_index)
df['Vacation'] = np.where((df.index >= '2018-01-04') & (df.index <= '2018-01-04'), 1, 0)
df