是版本兼容的问题,numpy和pandas的兼容度不够,推荐升级到numpy 1.19.5和pandas 1.3.5/1.1.0,两者版本不要相差太大。
例如可使用下面的命令升级numpy到1.21.5,pandas到1.3.5:
pip install --upgrade numpy==1.21.5
pip install --upgrade pandas==1.3.5
流表定义如下,其中askPrice和bidPrice的类型是array vector。
share streamTable( 10000:0, `time`sym`askPrice`bidPrice, [DATETIME,SYMBOL,DOUBLE[],DOUBLE[]] ) as testSt;
python 代码如下:
import dolphindb as ddb
import pandas as pd
import numpy as np
if __name__ == "__main__":
se = ddb.session("localhost", 8848)
df = pd.DataFrame(
{
"time": pd.Timestamp.now().to_numpy(),
"sym": ["600519.SH"],
"askPrice":[np.array([11.0,12.0],dtype=np.float64)],
"bidPrice":[np.array([11.1,12.1],dtype=np.float64)],
}
)
n = se.run("tableInsert{testSt}", df)
print(n)
运行时提示:RuntimeError: <Exception> in call: Failed to append data to column 'askPrice'。
我改成如下,也不行:
import dolphindb as ddb
import pandas as pd
import numpy as np
if __name__ == "__main__":
se = ddb.session("localhost", 8848,"admin", "123456")
values = np.array([np.array([11,12,13,14],dtype=np.float64)],dtype=object)
df = pd.DataFrame(
{
"time": pd.Timestamp.now().to_numpy(),
"sym": ["600519.SH"],
"askPrice":values,
"bidPrice":values,
#"askPrice":[np.array([11.0,12.0],dtype=np.float64)],
#"bidPrice":[np.array([11.1,12.1],dtype=np.float64)],
}
)
n = se.run("tableInsert{testSt}", df)
提示如下错误:
Traceback (most recent call last):
File "c:/Users/demo/Documents/WeChat Files/wxid_4gb23h622cn121/FileStorage/File/2023-01/py_sub/test_pub.py", line 15, in <module>
"bidPrice":values,
File "C:\Users\demo\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\frame.py", line 435, in __init__
mgr = init_dict(data, index, columns, dtype=dtype)
File "C:\Users\demo\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\internals\construction.py", line 254, in init_dict
return arrays_to_mgr(arrays, data_names, index, columns, dtype=dtype)
File "C:\Users\demo\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\internals\construction.py", line 69, in arrays_to_mgr
arrays = _homogenize(arrays, index, dtype)
File "C:\Users\demo\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\internals\construction.py", line 323, in _homogenize
val, index, dtype=dtype, copy=False, raise_cast_failure=False
File "C:\Users\demo\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\construction.py", line 482, in sanitize_array
raise Exception("Data must be 1-dimensional")
Exception: Data must be 1-dimensional
我运行在windows上,相关版本如下:
PS C:\Users\demo> pip list Package Version ---------------------------------- --------- alabaster 0.7.12 anaconda-client 1.7.2 anaconda-navigator 1.9.7 anaconda-project 0.8.3 asn1crypto 1.0.1 astroid 2.3.1 astropy 3.2.1 atomicwrites 1.3.0 attrs 19.2.0 Babel 2.7.0 backcall 0.1.0 backports.functools-lru-cache 1.5 backports.os 0.1.1 backports.shutil-get-terminal-size 1.0.0 backports.tempfile 1.0 backports.weakref 1.0.post1 beautifulsoup4 4.8.0 bitarray 1.0.1 bkcharts 0.2 bleach 3.1.0 bokeh 1.3.4 boto 2.49.0 Bottleneck 1.2.1 certifi 2019.9.11 cffi 1.12.3 chardet 3.0.4 Click 7.0 cloudpickle 1.2.2 clyent 1.2.2 colorama 0.4.1 comtypes 1.1.7 conda 4.7.12 conda-build 3.18.9 conda-package-handling 1.6.0 conda-verify 3.4.2 contextlib2 0.6.0 cryptography 2.7 cycler 0.10.0 Cython 0.29.13 cytoolz 0.10.0 dask 2.5.2 decorator 4.4.0 defusedxml 0.6.0 distributed 2.5.2 docutils 0.15.2 dolphindb 1.30.19.4 entrypoints 0.3 et-xmlfile 1.0.1 fastcache 1.1.0 filelock 3.0.12 Flask 1.1.1 fsspec 0.5.2 future 0.17.1 gevent 1.4.0 glob2 0.7 greenlet 0.4.15 h5py 2.9.0 HeapDict 1.0.1 html5lib 1.0.1 idna 2.8 imageio 2.6.0 imagesize 1.1.0 importlib-metadata 0.23 ipykernel 5.1.2 ipython 7.8.0 ipython-genutils 0.2.0 ipywidgets 7.5.1 isort 4.3.21 itsdangerous 1.1.0 jdcal 1.4.1 jedi 0.15.1 Jinja2 2.10.3 joblib 0.13.2 json5 0.8.5 jsonschema 3.0.2 jupyter 1.0.0 jupyter-client 5.3.3 jupyter-console 6.0.0 jupyter-core 4.5.0 jupyterlab 1.1.4 jupyterlab-server 1.0.6 keyring 18.0.0 kiwisolver 1.1.0 lazy-object-proxy 1.4.2 libarchive-c 2.8 llvmlite 0.29.0 locket 0.2.0 lxml 4.4.1 MarkupSafe 1.1.1 matplotlib 3.1.1 mccabe 0.6.1 menuinst 1.4.16 mistune 0.8.4 mkl-fft 1.0.14 mkl-random 1.1.0 mkl-service 2.3.0 mock 3.0.5 more-itertools 7.2.0 mpmath 1.1.0 msgpack 0.6.1 multipledispatch 0.6.0 navigator-updater 0.2.1 nbconvert 5.6.0 nbformat 4.4.0 networkx 2.3 nltk 3.4.5 nose 1.3.7 notebook 6.0.1 numba 0.45.1 numexpr 2.7.0 numpy 1.19.3 numpydoc 0.9.1 olefile 0.46 openpyxl 3.0.0 packaging 19.2 pandas 0.25.1 pandocfilters 1.4.2 parso 0.5.1 partd 1.0.0 path.py 12.0.1 pathlib2 2.3.5 patsy 0.5.1 pep8 1.7.1 pickleshare 0.7.5 Pillow 6.2.0 pip 19.2.3 pkginfo 1.5.0.1 pluggy 0.13.0 ply 3.11 prometheus-client 0.7.1 prompt-toolkit 2.0.10 psutil 5.6.3 py 1.8.0 pycodestyle 2.5.0 pycosat 0.6.3 pycparser 2.19 pycrypto 2.6.1 pycurl 7.43.0.3 pyflakes 2.1.1 Pygments 2.4.2 pylint 2.4.2 pyodbc 4.0.27 pyOpenSSL 19.0.0 pyparsing 2.4.2 pyreadline 2.1 pyrsistent 0.15.4 PySocks 1.7.1 pytest 5.2.1 pytest-arraydiff 0.3 pytest-astropy 0.5.0 pytest-doctestplus 0.4.0 pytest-openfiles 0.4.0 pytest-remotedata 0.3.2 python-dateutil 2.8.0 pytz 2019.3 PyWavelets 1.0.3 pywin32 223 pywinpty 0.5.5 PyYAML 5.1.2 pyzmq 18.1.0 QtAwesome 0.6.0 qtconsole 4.5.5 QtPy 1.9.0 requests 2.22.0 rope 0.14.0 ruamel-yaml 0.15.46 scikit-image 0.15.0 scikit-learn 0.21.3 scipy 1.3.1 seaborn 0.9.0 Send2Trash 1.5.0 setuptools 41.4.0 simplegeneric 0.8.1 singledispatch 3.4.0.3 six 1.12.0 snowballstemmer 2.0.0 sortedcollections 1.1.2 sortedcontainers 2.1.0 soupsieve 1.9.3 Sphinx 2.2.0 sphinxcontrib-applehelp 1.0.1 sphinxcontrib-devhelp 1.0.1 sphinxcontrib-htmlhelp 1.0.2 sphinxcontrib-jsmath 1.0.1 sphinxcontrib-qthelp 1.0.2 sphinxcontrib-serializinghtml 1.1.3 sphinxcontrib-websupport 1.1.2 spyder 3.3.6 spyder-kernels 0.5.2 SQLAlchemy 1.3.9 statsmodels 0.10.1 sympy 1.4 tables 3.5.2 tblib 1.4.0 terminado 0.8.2 testpath 0.4.2 toolz 0.10.0 tornado 6.0.3 tqdm 4.36.1 traitlets 4.3.3 unicodecsv 0.14.1 urllib3 1.24.2 wcwidth 0.1.7 webencodings 0.5.1 Werkzeug 0.16.0 wheel 0.33.6 widgetsnbextension 3.5.1 win-inet-pton 1.1.0 win-unicode-console 0.5 wincertstore 0.2 wrapt 1.11.2 xlrd 1.2.0 XlsxWriter 1.2.1 xlwings 0.15.10 xlwt 1.3.0 zict 1.0.0 zipp 0.6.0