乾貨丨DolphinDB NumPy使用教程

NumPy是一個用於科學計算的基礎庫,常和pandas配合使用,實現複雜計算。Orca的底層實現基於DolphinDB,若是用NumPy函數直接處理Orca對象,會直接將Orca對象下載到本地計算,形成沒必要要的性能損失,甚至可能致使異常。爲此,Orca提供了一個附屬項目,DolphinDB NumPy。它包裝了NumPy的接口,針對Orca對象有優化,又不影響其餘狀況的使用。dom

1 安裝ide

DolphinDB NumPy項目已經集成到DolphinDB Python API中。經過pip工具安裝DolphinDB Python API,就能夠使用DolphinDB NumPy。函數

pip install dolphindb

若是你已經有現成的NumPy程序,能夠將NumPy的import替換爲:工具

# import numpy as np
import dolphindb.numpy as np

若是程序用到了orca對象,請保證已經鏈接到DolphinDB。性能

2 快速入門優化

經過傳入一列值建立一個DolphinDB NumPy ndarray對象。對象

>>> import dolphindb.numpy as np 
>>> a = np.array([1, 2])
>>> a
array([1, 2])

若是嘗試得到a的類型,會發現它就是一個NumPy的ndarray,DolphinDB NumPy只是一個包裝:接口

>>> type(a)<class 'numpy.ndarray'>

DolphinDB NumPy的使用與NumPy無異:ip

>>> import dolphindb.numpy as np
>>> np.exp(range(5))
array([ 1.        ,  2.71828183,  7.3890561 , 20.08553692, 54.59815003])
>>> np.random.randint(0, 10, 3)
array([4, 7, 8])

DolphinDB NumPy的ndarray對象能夠與Orca對象直接運算。返回結果是Orca中間表達式。開發

>>> df = orca.DataFrame({"a": [1,2]})
>>> a + df
<orca.core.operator.ArithExpression object at 0x7ffa4a1d99d0>

3 DolphinDB NumPy的功能限制和注意事項

DolphinDB NumPy目前還在開發階段,DolphinDB NumPy的接口函數,若參數中包括Orca對象,僅支持四則運算、邏輯運算、DolphinDB支持的數學函數和統計函數。

用DolphinDB NumPy函數操做Orca對象時,會採用Orca所使用的惰性求值策略。所以,常見的四則運算、邏輯運算等,一般會返回一箇中間表達式:

>>> import dolphindb.numpy as np
>>> a = np.float32(3.5)
>>> df = orca.Series([1,2])
>>> b = a + df
>>> b
<orca.core.operator.ArithExpression object at 0x7ffa4a1d99d0>

>>> b.compute()
0    4.5
1    5.5
dtype: float32
相關文章
相關標籤/搜索