飞道的博客

干货丨DolphinDB NumPy使用教程

317人阅读  评论(0)

NumPy是一个用于科学计算的基础库,常和pandas配合使用,实现复杂计算。Orca的底层实现基于DolphinDB,如果用NumPy函数直接处理Orca对象,会直接将Orca对象下载到本地计算,造成不必要的性能损失,甚至可能导致异常。为此,Orca提供了一个附属项目,DolphinDB NumPy。它包装了NumPy的接口,针对Orca对象有优化,又不影响其他情况的使用。

1 安装

DolphinDB NumPy项目已经集成到DolphinDB Python API中。通过pip工具安装DolphinDB Python API,就可以使用DolphinDB NumPy。

pip install dolphindb

如果你已经有现成的NumPy程序,可以将NumPy的import替换为:


  
  1. # import numpy as np
  2. import dolphindb.numpy as np

如果程序用到了orca对象,请保证已经连接到DolphinDB database。

2 快速入门

通过传入一列值创建一个DolphinDB NumPy ndarray对象。


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

如果尝试获得a的类型,会发现它就是一个NumPy的ndarray,DolphinDB NumPy只是一个包装:


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

DolphinDB NumPy的使用与NumPy无异:


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

DolphinDB NumPy的ndarray对象可以与Orca对象直接运算。返回结果是Orca中间表达式。


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

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

DolphinDB NumPy目前还在开发阶段,DolphinDB NumPy的接口函数,若参数中包括Orca对象,仅支持四则运算、逻辑运算、DolphinDB支持的数学函数和统计函数。

用DolphinDB NumPy函数操作Orca对象时,会采用Orca所使用的惰性求值策略。因此,常见的四则运算、逻辑运算等,通常会返回一个中间表达式:


  
  1. >>> import dolphindb.numpy as np
  2. >>> a = np.float32(3.5)
  3. >>> df = orca.Series([1,2])
  4. >>> b = a + df
  5. >>> b
  6. <orca.core.operator.ArithExpression object at 0x7ffa4a1d99d0>
  7. >>> b.compute()
  8. 0 4.5
  9. 1 5.5
  10. dtype: float32

转载:https://blog.csdn.net/qq_41996852/article/details/112169105
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场