python中的datio库。

datio的Python项目详细描述


datio是模拟工作中有用的数据处理库。

主类series被设计成按行或列访问数据。

系列在需要处理每个 分析给定列的最后x个项时的数据行。

例如,在股票模拟中,您将遍历 一个股票的价格,但是对于每个价格周期,计算20个周期的移动 收盘价的平均值。这个系列的课程 处理列时按行读取很容易。

概述

数据的主要功能:

  • series():
    跨行或列访问数据。按行或列追加。 更新系列。
  • lol2dol():
    将列表列表转换为列表指令。基本上从 按行访问数据以按列访问数据。
  • csv2rol():
    将csv文件中的数据加载到列表列表中。
  • 格式值():
    将值列表从一种类型转换为另一种类型,如float, int、string或datatime.strTime。

许可证

在麻省理工学院的许可下提供。

用法

导入库:
>>> import datio
定义一些要使用的数据:
>>> prices_lol = []
>>> prices_lol.append(['1997-01-01', 'goog', '32.00'])
>>> prices_lol.append(['1997-01-02', 'goog', '33.00'])
>>> prices_lol.append(['1997-01-03', 'goog', '34.00'])
将数据加载到序列中:
>>> series = datio.Series('dates', 'symbols', 'closes')
>>> series.from_values(prices_lol)
访问序列中的所有日期:
>>> series.dates
['1997-01-01', '1997-01-02', '1997-01-03']
仅访问序列的第二行:
>>> series[1]
('1997-01-02', 'goog', '33.00')
访问“关闭”列序列的第一行:
>>> series.closes[0]
'32.00'
将关闭列格式化为浮动:
>>> series.format('closes', float)
[32.0, 33.0, 34.0]
我们也希望包括开盘价。因此,追加打开序列:
>>> series.appendcol('opens', [31.00, 33.0, 35])
>>> series.opens
[31.0, 33.0, 35]
稍后我们可能需要一个列来存储移动平均值:
>>> series.initcol('sma_closes')
>>> series.sma_closes
[None, None, None]
现在,我们想为1997-01-04价格周期添加一行:
>>> series.append(['1997-01-04', 'goog', 38, 37])
>>> series[3]
('1997-01-04', 'goog', 38, 37, None)
如您所见,sma_closes列为none,因为我们没有将其包含在附加值中。所以,我们把它改为0.0:
>>> series.sma_closes[3] = 0.0
将日期列格式化为datetime:
>>> series.format('dates', datetime.strptime, '%Y-%m-%d')
>>> series.dates[0].__str__()
'1997-01-01 00:00:00'
最后,让我们将该系列从收盘价的高位到低位进行排序:
>>> series.sort('closes', order='d')
>>> series.closes
[38, 34.0, 33.0, 32.0]

路线图

  • 不确定是否要将列附加到为以后所有值追加的最后一个格式调用?
  • 真的不喜欢列可以在系列之外更新的事实。但是,不确定将它们转换成元组是否是一件好事,因为需要返回列表以在序列中更新,这会带来开销。
  • 考虑让调用中的行是namedtuples而不是tuples。这将允许命名属性访问,我相信开销更低?但是,在这一点上,并不需要这个特性。

联系人

有关更多信息,请发送电子邮件:
mike@taylortree.com

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java迷宫解算器在死胡同中陷入循环   java JPA在一个查询中检索2个列表   java正则表达式匹配文档中两个字符串之间的所有字符   java更改JTable标题高度   安卓忽略调试库中的java代码   java使用ScheduledExecutorService延迟Spring WebClient调用不会等待响应   如何使用Java将包含JSON对象的字符串转换为实际的JSON   sqlite数据库连接:java。Lang.ClassNotFoundException:org。sqlite。JDBC   在MySQL中存储表情符号的java获取错误字符串值错误   当发送包含超过一定大小字节数据的对象时,安卓 Java StreamCorruptedException   Java游戏旋转图像和轴   java IntelliJ Idea:无法解析实体类的列   Android中带有editText的java AlertDialog   map only和mapreduce应用程序之间的java差异   如何在Kotlin编写的接口中使用默认方法的Java8特性   java CPU时间百分比算法问题   java如何在WEBINF文件夹中使用带有JAR的taglibs JSTL/core   有没有办法在Java中找到JPanel和/或JFrame的长度和宽度?