我已经围绕.NETAPI构建了一个Python包装器。包装器当前在将.NET集合对象“解包”到要返回的所需pd.Series
对象中时速度非常慢。我想通过包装一些C代码来进行解包,从而加快这部分代码的速度
细节
此API(特别是OSI Pi AFSDK)用于从专有数据库检索timeseries数据。API调用是使用pythonnet
库实现的,并返回一个名为AFValues对象的.NET集合。该对象是AFValue对象的集合,这些对象本身包含timestamp
和value
字段以及其他信息。目前,我使用Python列表来“解压”这些对象中的每一个,并将它们组合在一起形成这个系列。以下是一个简化的版本:
timestamps = [afvalue.Timestamp for afvalue in afvalues]
# (There is actually some timezone handling etc in the above as well)
values = [afvalue.Value for afvalue in afvalues]
result = pd.Series(index = timestamps, data = values)
对于非常大的集合(即数百万个值),此列表的理解速度明显较慢
期望的结果
理想情况下,我希望:
pythonnet
代码调用APIAFValues
对象传递到一些用C编写的预编译代码中(或者.NET?开放供建议)Numpy
数组或类似的数组,以转换为Pandas对象李>我相信以上就是熊猫和Numpy如何在大型行动中实现他们的速度。以上是正确的方法吗?关于如何编写代码,有什么建议吗
目前没有回答
相关问题 更多 >
编程相关推荐