首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在类似于插值的pandas中扩展datetime数据

在类似于插值的pandas中扩展datetime数据
EN

Stack Overflow用户
提问于 2020-10-22 05:20:01
回答 1查看 21关注 0票数 0

我有以下日期数据,每个日期都赋值为1

有没有办法以某种方式获得每小时DateTime列表的pandas列表,这样除了我在xls文件中的值之外,所有的值都是0?它类似于插值,但是插值只是插值,而在这里我只希望将日期的其余部分填充为0。我希望将以下日期的整个24小时作为一个整体分配。我尝试在for循环方法中执行此操作,但它花费的时间比以往任何时候都要长,并且非常不切实际

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-22 06:06:30

使用pandas datetime访问器pd.Series.dt.date从datetime对象中提取日期部分。然后使用.isin()来匹配值。

代码语言:javascript
复制
# sample data
df = pd.DataFrame({  # list of dates
    "date": [date(2020,10,2), date(2020,10,4)]
})
df_hr = pd.DataFrame({  # list of hours from Oct.1 to 4
    "hr": [datetime(2020,10,1,0,0) + i * timedelta(hours=1) for i in range(24*4)]
})

df_hr["flag"] = 0
df_hr.loc[df_hr["hr"].dt.date.isin(df["date"]), "flag"] = 1

# show the first and last hour of each day
df_hr.loc[[0,23,24,47,48,71,72,95]]
Out[111]: 
                    hr  flag
0  2020-10-01 00:00:00     0
23 2020-10-01 23:00:00     0
24 2020-10-02 00:00:00     1
47 2020-10-02 23:00:00     1
48 2020-10-03 00:00:00     0
71 2020-10-03 23:00:00     0
72 2020-10-04 00:00:00     1
95 2020-10-04 23:00:00     1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64471894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档