代码拉取完成,页面将自动刷新
安装可以去release页面下载对应的wheel文件使用pip install [cuba-xxx.whl]
安装,
也可以clone项目cuba-sdk使用python -m build
适合当前系统版本的wheel文件再安装
对于数据的命名,建议有一定的规范, 比如股票的行情数据可以命名为stock::close
, stock::prev_close
约定: 如果写入到pandas.DataFrame数据为时序数据,需要保证一定有一列的名称为date
, 并且需要
使用df["date"] = pd.to_datetime(df["date"])
将该列转为时间类型.
在写入数据前必须先注册数据,然后才能写入
import pandas as pd
from cuba import get_client
df = pd.DataFrame([
{"date": "2023-01-01", "symbol": "000001", "close": 100},
{"date": "2023-01-02", "symbol": "000001", "close": 100},
{"date": "2023-01-03", "symbol": "000001", "close": 100},
{"date": "2023-01-04", "symbol": "000001", "close": 100},
{"date": "2023-01-05", "symbol": "000001", "close": 100},
])
df["date"] = pd.to_datetime(df["date"])
df = df.set_index(["date", "symbol"])
path = "stock::mock"
client = get_client()
client.register(path, desc="stock mock data for testing")
client.write("stock::mock", df)
更新数据默认按照数据中的date
列进行覆盖, 因此非时序数据需要直接write
,
不可使用update
接口
import pandas as pd
from cuba import get_client
df = pd.DataFrame([
{"date": "2023-01-03", "symbol": "000001", "close": 101},
{"date": "2023-01-04", "symbol": "000001", "close": 102},
{"date": "2023-01-05", "symbol": "000001", "close": 103},
{"date": "2023-01-06", "symbol": "000001", "close": 104},
{"date": "2023-01-07", "symbol": "000001", "close": 105},
])
df["date"] = pd.to_datetime(df["date"])
df = df.set_index(["date", "symbol"])
client = get_client()
client.update("stock::mock", df)
from cuba import get_client
client = get_client()
client.delete("stock::mock")
读取数据实现了以下场景:
以上场景可以组合使用
from cuba import get_client
path = "stock::mock"
client = get_client()
# 完整读取
df = client.read(path)
# 指定范围
df = client.read(path, start="2023-01-05")
df = client.read(path, end="2023-01-05")
df = client.read(path, start="2023-01-05", end="2023-01-06")
# 指定列
df = client.read(path, columns=["close"])
# 指定引擎
df = client.read(path, engine="pandas")
df = client.read(path, engine="polars")
# 完整参数
df = client.read(path, start="2023-01-05", end="2023-01-06", columns=["close"], engine="polars")
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。