首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向日期列添加时间间隔

向日期列添加时间间隔
EN

Stack Overflow用户
提问于 2021-06-03 17:44:34
回答 1查看 41关注 0票数 1

我正在使用带有bigquery后端的ibis。

我想使用.add()方法向日期添加时间间隔。

然而,我不知道如何指定这样的时间间隔:下面代码中的"which_type_here“变量。

谢谢你的帮忙!

代码语言:javascript
复制
import ibis
import ibis_bigquery
import pandas as pd
import datetime as dt

my_project = "your_poject"
my_dataset = 'your_dataset'

conn = ibis_bigquery.connect(
    project_id=my_project,
    dataset_id=my_dataset)

pdf = pd.DataFrame({'date': [dt.date(2020, 1, 1),
                             dt.date(2020, 5, 19),
                             dt.date(2021, 7, 9)],
                     })
client = bigquery.Client(project=my_project)
table = my_dataset + ".mytable"
client.delete_table(table, not_found_ok=True)
job = client.load_table_from_dataframe(pdf, table)

t = conn.table("mytable")

which_type_here = ????
e = t.mutate(new_date=t.date.add(which_type_here))
EN

回答 1

Stack Overflow用户

发布于 2021-08-23 09:02:21

interval type from ibis似乎是一个很好的候选者。

代码语言:javascript
复制
import ibis
import ibis_bigquery
import pandas as pd
import datetime as dt

my_project = "your_poject"
my_dataset = 'your_dataset'

conn = ibis_bigquery.connect(
    project_id=my_project,
    dataset_id=my_dataset)

pdf = pd.DataFrame({'date': [dt.date(2020, 1, 1),
                             dt.date(2020, 5, 19),
                             dt.date(2021, 7, 9)],
                     })
client = bigquery.Client(project=my_project)
table = my_dataset + ".mytable"
client.delete_table(table, not_found_ok=True)
job = client.load_table_from_dataframe(pdf, table)

t = conn.table("mytable")

two_days = ibis.interval(days=2)
e = t.mutate(new_date=t.date.add(two_days))
result = e.execute()

结果:

代码语言:javascript
复制
        date   new_date
0 2020-01-01 2020-01-03
1 2020-05-19 2020-05-21
2 2021-07-09 2021-07-11
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67819129

复制
相关文章

相似问题

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