使用python,我已经创建了一个带有日期时间索引的dataframe。
datetime_index = pd.date_range(start='2018-01-01', end='2019-12-31', freq='D')
df = pd.DataFrame({}, index=datetime_index)现在我希望能够搜索日期列表,如果索引中的日期也在我创建的列表中,我希望新变量df‘’fireworks‘为1,否则为0。我试着创建了一个这样的列表:
fireworks = {'2018-07-04', '2018-07-05', '2018-04-13', '2018-04-18'}我试着这样做:
df['fireworks'] = np.where(df.index==fireworks, 1, 0)新创建的df‘’fireworks‘的所有值仍为0。
提前感谢任何帮助我这一点的人。
发布于 2019-11-05 11:53:22
使用Series.isin
datetime_index = pd.date_range(start='2018-01-01', end='2019-12-31', freq='D')
df = pd.DataFrame({}, index=datetime_index)
fireworks = {'2018-07-04', '2018-07-05', '2018-04-13', '2018-04-18'}
df['fireworks'] = np.where(df.index.isin(fireworks), 1, 0)
print (df[df["fireworks"].eq(1)])
#
            fireworks
2018-04-13          1
2018-04-18          1
2018-07-04          1
2018-07-05          1https://stackoverflow.com/questions/58704163
复制相似问题