gpt4 book ai didi

missing-data - 在 DolphinDB 中,如何将具有开始日期和结束日期的 1 条记录转换为每天的多条记录?

转载 作者:行者123 更新时间:2023-12-05 02:26:26 24 4
gpt4 key购买 nike

所以我有一个包含以下列的表格:

enter image description here

对于上表中的每条记录(例如,股票 A 的 ENTRY_DT 为 2011.08.22 和 REMOVE_DT 为 2011.09.03),我想在开始日期和结束日期之间的每一天(不包括周末)复制它.转换后的记录保持与原始记录相同的字段 S_INFO_WINDCODE 和 SW_IND_CODE 的值。

转换后的表格应该是这样的:

enter image description here

(只显示股票A的记录)

最佳答案

由于数据量不大,可以用cj(cross join)处理每条记录,然后用函数unionAll将所有记录合并到输出表中。

表格:

t = table(`A`B`C as S_INFO_WINDCODE, `6112010200`6112010200`6112010200 as SW_IND_CODE, 2011.08.22 1998.11.11 1999.05.27 as ENTRY_DT, 2011.09.03 2010.10.08 2011.09.30 as REMOVE_DT)

解决方法:

def f(t, i) {
windCode = t[i][`S_INFO_WINDCODE]
code = t[i][`SW_IND_CODE]
entryDate = t[i][`ENTRY_DT]
removeDate = t[i][`REMOVE_DT]
days = entryDate..removeDate
days = days[weekday(days) between 1:5]
return cj(table(windCode as S_INFO_WINDCODE, code as SW_IND_CODE), table(days as DT))
}
unionAll(each(f{t}, 1..size(t) - 1), false)

关于missing-data - 在 DolphinDB 中,如何将具有开始日期和结束日期的 1 条记录转换为每天的多条记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73782721/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com