我使用Python API,以下是我的脚本:
factors = s.table("dfs://K_FACTOR_LONG", "factor_k_long")
kline = s.table("dfs://daily", "quotes")
t1 = trade.select("value").where("tradetime between timestamp(2023.11.06):timestamp(2023.11.11)").pivotby("tradetime", "securityid,factorname")
m = t1.merge(kline, left_on=["securityid", "time_key"], right_on=["securityid", "tradetime"], how="left")
“因子”是一个包含 101 个 alpha 的窄表。 “kline”包含原始 1 分钟 OHLC 柱的数据。我想连接这两个表,但出现错误:
File "ddb_read.py", line 29, in <module> m = t1.merge(kline, left_on=["securityid", "time_key"], right_on=["securityid", "tradetime"], how="left") AttributeError: 'TablePivotBy' object has no attribute 'merge'
。
如何直接在 DolphinDB 中加入它们,而不是使用 toDF 方法将表对象下载到 Python 并将其转换为 DataFrame?
pivot by
语句的结果不能直接与其他表连接。为此,您可以在加入之前使用 executeAs
方法将结果转换为 DolphinDB 表。您还可以调用s.run
执行连接操作的SQL语句。无论哪种方式,所有计算都在 DolphinDB 中进行,并将结果通过 DolphinDB Python API 传递给 Python。