我只需要获取数组的小数部分.

使用numpy或简单地使用python modf函数很方便.

如果我们有大量正分数数据数组,例如,可以和(1000000,3)一样大,那么更方便的做法是:

numpy.modf(array)[0]

array-numpy.trunc(array)

我认为2在内存使用方面更快,更便宜…但不确定. python和numpy专家怎么看?

解决方法:

我不是专家,所以我必须使用timeit模块检查速度.我使用IPython(这使计时变得非常容易),但即使没有它,timeit模块也可能是解决之道.

In [21]: a = numpy.random.random((10**6, 3))

In [22]: timeit numpy.modf(a)[0]

10 loops, best of 3: 90.1 ms per loop

In [23]: timeit a-numpy.trunc(a)

10 loops, best of 3: 135 ms per loop

In [24]: timeit numpy.mod(a, 1.0)

10 loops, best of 3: 68.3 ms per loop

In [25]: timeit a % 1.0

10 loops, best of 3: 68.1 ms per loop

最后两个是等效的.我对内存的使用了解不多,但是如果modf(a)[0]和a-numpy.trunc(a)都没有比直接使用mod占用更多的内存,我会感到惊讶.

[顺便说一句,如果您的代码完成了您想要的工作,而您只对改进感兴趣,那么您可能会对the codereview stackexchange感兴趣.我仍然对分隔线的位置没有很好的了解,但是感觉有点多喜欢他们的茶.]

标签:python-2-7,python,numpy

来源: https://codeday.me/bug/20191031/1977642.html

python求小数部分_python-numpy数组的小数部分相关推荐

  1. python对象数组排序_Python NumPy 数组 排序

    1.数组排序 NumPy ndarray对象具有一个名为sort()的函数,该函数将对指定的数组进行排序. 例如: 排序数组:import numpy as np arr = np.array([3, ...

  2. Python计算两个numpy数组的交集(Intersection)实战:两个输入数组的交集并排序、获取交集元素及其索引、如果输入数组不是一维的,它们将被展平(flatten),然后计算交集

    Python计算两个numpy数组的交集(Intersection)实战:两个输入数组的交集并排序.获取交集元素及其索引.如果输入数组不是一维的,它们将被展平(flatten),然后计算交集 目录

  3. 下载MNIST数据集并使用python将数据转换成NumPy数组(源码解析)

    下载MNIST数据集并使用python将数据转换成NumPy数组 首先来分析init_mnist函数 接下来继续分析load_mnist函数 实现数据集转换的python脚本的代码 显示MNIST图像 ...

  4. python 创建空的numpy数组_真假美猴王-Numpy数据与Python数组的区别与联系

    Numpy,是python中的一个矩阵计算包,功能类似matlab的矩阵计算.Numpy的诞生弥补了下面提到的两项的不足,numpy提供了两种基本的对象:ndarray(N-dimensional a ...

  5. python数组初始化_Python Numpy 数组的初始化和基本操作

    Python 是一种高级的,动态的,多泛型的编程语言.Python代码很多时候看起来就像是伪代码一样,因此你可以使用很少的几行可读性很高的代码来实现一个非常强大的想法. 一.基础: Numpy的主要数 ...

  6. python数组索引和切片_python numpy数组的索引和切片的操作方法

    NumPy - 简介 NumPy 是一个 Python 包. 它代表 "Numeric Python". 它是一个由多维数组对象和用于处理数组的例程集合组成的库. Numeric, ...

  7. python numpy array转置_Python numpy数组转置与轴变换

    这篇文章主要介绍了Python numpy数组转置与轴变换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 矩阵的转置 >>> im ...

  8. python 数组赋值后 内存区域是不是同一片_python – numpy数组赋值问题

    这其实根本不是问题;它是数组(和其他对象)在Python中工作的方式. 想像这样:您在代码示例中创建的数组是位于内存中某个位置的对象.但是你不能在程序中使用它来告诉Python在内存中去寻找它;你必须 ...

  9. python numpy array索引_Python NumPy 数组索引

    1.访问数组元素 数组索引与访问数组元素相同. 您可以通过引用其索引号来访问数组元素. NumPy数组中的索引以0开头,这意味着第一个元素的索引为0,第二个元素的索引为1等. 例如: 从以下数组中获取 ...

  10. python维度变换_Python NumPy用法

    介绍 NumPy是Python数值计算最重要的基础包,大多数提供科学计算的包都是用NumPy的数组作为构建基础.NumPy本身并没有提供多么高级的数据分析功能,理解NumPy数组以及面向数组的计算,将 ...

最新文章

  1. 三层交换机的热备实验
  2. Android基于mAppWidget实现手绘地图(五)--如何创建地图资源
  3. java元婴期(24)----java进阶(mybatis(3)---动态sql(重点))
  4. linux 系统lv扩展_linux 扩展lv
  5. 【题解】Luogu P2783 有机化学之神偶尔会做作弊
  6. MFC导出对话框类DLL的实现
  7. php如何在某个时间上加一天?一小时? 时间加减(转)
  8. 再见了Spring!这个架构有点厉害,甚至干掉了Dubbo!
  9. 【AI视野·今日CV 计算机视觉论文速览 第229期】Thu, 1 Jul 2021
  10. pinpoint 磁盘不足的坑
  11. Atitit保证架构超前性 前瞻性 目录 第一章 为什么需要修改代码 1 第一节 业务增加功能 1 第二节 增加字段 1 第三节 增加表数据需要查询 修改 1 第四节 类库升级 1 第二章 简单抽象
  12. java打菱形_java打印菱形
  13. 第62页的gtk+编程例子——菜单
  14. 云杰恒指:7.19恒指期货早盘资讯
  15. 功放与喇叭的匹配原则
  16. idea创建SpringBoot工程
  17. Longest Commen Prefix
  18. 自动驾驶笔记-轨迹跟踪之①纯跟踪算法(Pure Pursuit)
  19. Flowable 6.6.0 BPMN用户指南 -10 流程实例迁移 - 10.1 简单示例
  20. 我的物联网项目之下单渠道

热门文章

  1. CSS hack——不同浏览器的CSS应对法
  2. redhat linux 5.6 下安装oracle 11g 时netca报错不能配置监听解决方法
  3. 如何打造标签式IE浏览器 (共享源码)
  4. LeetCode从读题到自闭:1. 两数之和
  5. cmake之系统头文件(六)
  6. Ubuntu18.04安装BeyondCompare
  7. pthread_create()在C和C++使用区别
  8. Android底层控制系统设置的命令集合
  9. IOS控件圆角、描边
  10. SpringBoot之idea调出Maven Project