简单说明dtype使用方法:

Rule为规则类,其中有3个字段,1为类型,2为计算规则,3为保留位数

如 :'close': Rule(float64, 1 / 10000.0, 2),

表示收盘价,Rule有三个字段,首为浮点类型,次为计算规则,末为保留小数位数

Converter类则是Rule字典集合,这里表示的为open,close等为key的集合

# /usr/bin/python3
# -*- encoding: utf-8 -*-
from collections import namedtuple
import numpy as np

float64 = np.dtype('float64')
Rule = namedtuple('Rule', ['dtype', 'multiplier', 'round'])
class Converter(object):
    def __init__(self, rules):
        self._rules = rules

    def convert(self, name, data):
        try:
            r = self._rules[name]
        except KeyError:
            return data

        result = data * r.multiplier
        if r.round:
            result = np.round(result, r.round)

        return result

    def field_type(self, name):
        try:
            return self._rules[name].dtype
        except KeyError:
            return self._rules['open'].dtype

if __name__ == '__main__':

    StockBarConverter = Converter({
        'open': Rule(float64, 1 / 10000.0, 4),
        'close': Rule(float64, 1 / 10000.0, 2),
        'high': Rule(float64, 1 / 10000.0, 2),
        'low': Rule(float64, 1 / 10000.0, 2),
        'limit_up': Rule(float64, 1/10000.0, 2),
        'limit_down': Rule(float64, 1/10000.0, 2),
        'volume': Rule(float64, 1, 0),
    })
    _converter = StockBarConverter
    data = np.array([1001, 2103])
    result = _converter.convert('open', data)
    open_type = _converter.field_type("open")
    print("open_type: ", open_type) #open_type:  float64

numpy中dtype的更多相关文章

  1. numpy数据类型dtype转换

    这篇文章我们玩玩numpy的数值数据类型转换 导入numpy >>> import numpy as np 一.随便玩玩 生成一个浮点数组 >>> a = np.r ...

  2. Python numpy中矩阵的用法总结

    关于Python Numpy库基础知识请参考博文:https://www.cnblogs.com/wj-1314/p/9722794.html Python矩阵的基本用法 mat()函数将目标数据的类 ...

  3. numpy中的ndarray方法和属性

    原文地址 NumPy数组的维数称为秩(rank),一维数组的秩为1,二维数组的秩为2,以此类推.在NumPy中,每一个线性的数组称为是一个轴(axes),秩其实是描述轴的数量.比如说,二维数组相当于是 ...

  4. numpy中文件的存储和读取-嵩天老师笔记

    numpy中csv文件的存储和读取 CSV文件:(Comma‐Separated Value, 逗号分隔值) 一维和二维数组 存储 np.savetxt(frame,array,fmt='%.18e' ...

  5. Python numpy 中常用的数据运算

    Numpy 精通面向数组编程和思维方式是成为Python科学计算大牛的一大关键步骤.——<利用Python进行数据分析> Numpy(Numerical Python)是Python科学计 ...

  6. numpy中的argsort()函数

    在阅读<机器学习实战>一书中,发现了一个比较函数是argsort() 猜测是在numpy中出现的,手动进行了测试 >>> import numpy as np >& ...

  7. 理解numpy中ndarray的内存布局和设计哲学

    目录 ndarray是什么 ndarray的设计哲学 ndarray的内存布局 为什么可以这样设计 小结 参考 博客:博客园 | CSDN | blog 本文的主要目的在于理解numpy.ndarra ...

  8. python numpy中sum()时出现负值

    import numpy a=numpy.random.randint(1, 4095, (5000,5000)) a.sum() 结果为负值, 这是错误的,a.sum()的类型为 int32,如何做 ...

  9. Numpy中 arange() 的用法

    1. 概述Numpy 中 arange() 主要是用于生成数组,具体用法如下: 2. arange()2.1 语法numpy.arange(start, stop, step, dtype = Non ...

随机推荐

  1. Sql Server 2000/2008 用Sql导出数据表结构(包括注释)到Excel

    --Sql Server 2000 declare @id int, ), ) declare cur_1 cursor for select id,name from sysobjects wher ...

  2. [SQL in Azure] High Availability and Disaster Recovery for SQL Server in Azure Virtual Machines

    http://msdn.microsoft.com/en-us/library/azure/jj870962.aspx Microsoft Azure virtual machines (VMs) w ...

  3. 每日英语:A Chinese Father’s Most Important Job

    When it comes to parenting, Chinese fathers say the most important role they play is that of the fam ...

  4. java 多线程 30: 多线程组件之 CyclicBarrier

    CyclicBarrier 接着讲多线程下的其他组件,第一个要讲的就是CyclicBarrier.CyclicBarrier从字面理解是指循环屏障,它可以协同多个线程,让多个线程在这个屏障前等待,直到 ...

  5. Java 11 将至,不妨了解一下 Oracle JDK 之外的版本

    Java 11 计划于本月,即 9 月 25 日发布.与 Java 10 不同,Java 11 不仅提供了长期支持,还将作为 Java 平台的参考实现.新的长期支持版本每三年发布一次,根据后续的发布计 ...

  6. pandas的学习总结

    pandas的学习总结 作者:csj更新时间:2017.12.31 email:59888745@qq.com 说明:因内容较多,会不断更新 xxx学习总结: 回主目录:2017 年学习记录和总结 1 ...

  7. andriod创建用户界面(1)

    一.UI知识Activity 将UI放在一个Activity上面,可以在Activity的onCreate方法中添加UI. @Override public void onCreate(Bundle ...

  8. 【转】oracle中的游标的原理和使用详解

    游标 游标的简介: 逐行处理查询结果,以编程的方式访问数据 游标的类型: 1,隐式游标:在 PL/SQL 程序中执行DML SQL 语句时自动创建隐式游标,名字固定叫sql. 2,显式游标:显式游标用 ...

  9. <七年成为百万富翁:欧洲最知名致富教练的实用教程>读书笔记

    如果说乐观主义让你看到事物积极的一面,那么自信则同时给你与阴暗面打交道的信心 只有弱者才会推卸责任 把问题当做机会,反问自己:我如何才能创造一种环境,使这个问题永不再现 提出正确的问题 你自己,而不是 ...

  10. <买基金为自己加薪>读书笔记

    定时定额买基金跟买股票不同,到达停利点就应该不要恋战,将获利连同本金转入再投资,才能达到定时定额的复利效果 傻傻地买,聪明地卖 不在乎过程,只在乎结果 不懂的东西不要随便碰,在对一种投资工具有基本认识 ...