问题:numpy定义的矩阵A中所有元素为float类型,现要求将A中所有元素转化为int类型。


修改时间:2017年5月24日

>>>import numpy as np
>>>sample = np.mat([[1.0, 2.0], [3.0, 4.0]])
>>>sample
matrix([[ 1.,  2.],[ 3.,  4.]])
>>>sample.astype(np.int)
matrix([[1, 2],[3, 4]])

SciPy.org对数据类型的介绍
https://docs.scipy.org/doc/numpy/user/basics.types.html


以下是以前2017/5/12的老版本


本人愚钝,不想使用for循环遍历矩阵,挨个进行类型转换,故想用map对矩阵中的元素进行类型转换,但是实际过程中一直提示如下错误:

{TypeError}only length-1 arrays can be converted to Python scalars

必须先转换成list类型,才能使用map进行类型转换。具体代码如下,为了便于理解,每一步后面都配有相应的注释,标明了变量的类型和值。

#!/usr/bin/env python3.x
# -*- coding: utf-8 -*-
# @Time     : 2017/5/12 15:47
# @Author   : GaoZhengjie
# @Contact  : gaozhengj@foxmail.com
# @Software : PyCharmimport numpy as npsample = np.mat([[1.0, 2.0], [3.0, 4.0]])  # sample = {matrix}[[1.0 2.0]\n[3.0 4.0]]
sample = list(map(int, sample))
# 首先将sample以行为主序进行扁平化
step_1 = sample.flatten()  # step_1 = {matrix}[[1.0 2.0 3.0 4.0]]
step_2 = step_1.tolist()  # step_2 = {list}[[1.0, 2.0, 3.0, 4.0]]
step_3 = step_2[0]  # step_3 = {list}[1.0, 2.0, 3.0, 4.0]
# 从python3.x开始map必须搭配list才能使用
step_4 = list(map(int, step_3))  # step_4 = {list}[1, 2, 3, 4]
step_5 = np.mat(step_4).reshape(sample.shape)  # step_5 = {matrix}[[1 2]\n[3 4]]
# 将上述五个步骤揉在一起,如下:
# sample = np.mat(list(map(int, sample.flatten().tolist()[0]))).reshape(sample.shape)
print(sample)

从代码长度就不难看出,这个方法还是太麻烦了些。还请大家不吝赐教,万分感谢。

python矩阵中float转int相关推荐

  1. python 矩阵类型转换_python矩阵中float转int

    问题:numpy定义的矩阵A中所有元素为float类型,现要求将A中所有元素转化为int类型. 修改时间:2017年5月24日 >>>import numpy as np >& ...

  2. python 矩阵中的冒号 逗号

    python 矩阵中的冒号 逗号 https://blog.csdn.net/Strive_0902/article/details/78225691?utm_source=blogxgwz0 pyt ...

  3. python矩阵中插入矩阵_Python | 矩阵的痕迹

    python矩阵中插入矩阵 The sum of diagonal elements of a matrix is commonly known as the trace of the matrix. ...

  4. 查找python矩阵中最大元素_找出矩阵中最大的元素

    当提示输入矩阵中的行数,然后提示输入这些行的元素时,我需要找到矩阵中最大的元素并返回其位置(行和列).在 例如,如果输入2行,如下所示: [1 3 7] [4 8 1] 最大元素的位置将是(1,1), ...

  5. php中float转int精度丢失的问题

    今天遇到一个问题,$19.99转换为内部货币时的比例是1:100,所以乘以100,结果是1999,但是订单信息描述中将数据转换为int(不确定, 因为里面是将含有该float数值字段的数组做json_ ...

  6. mysql 中float存入int数据显示失真问题

    问题描述: 表中字段定义为float类型,而实际通过代码存入int时,显示失真.把字段改为int,则显示正确. 1.保存"8679759"时,有问题的存储显示: mybatis类使 ...

  7. java中float和int类型转换

    ①float x = 1:与②float x = 1.0f, 这两种对于float类型的变量来说定义的方式都是正确的,也是比较常见的笔试题里面考察类型转换的例子, 当第一种情况时,是将低精度int向上 ...

  8. python矩阵中找满足条件的元素_Python 找到列表中满足某些条件的元素方法

    Python 找到列表中满足某些条件的元素方法 更新时间:2018年06月26日 11:20:17 作者:CS_network 今天小编就为大家分享一篇Python 找到列表中满足某些条件的元素方法, ...

  9. python矩阵中的冒号:

    单冒号: 二.定义array数组 X=array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16],[17,18,19,20]]) X输出为5x4的矩阵: ...

最新文章

  1. 五分钟搞定VS2017+TensorRT环境搭建
  2. SpringBoot初体验
  3. gitlab中文_ASP.NET实战010:Visual Studio使用GitLab详解
  4. Android 在本地程序res/raw中读取数据操作
  5. sublime text2 用ctags插件实现方法定位(转)
  6. 【转】PHP的Trait 特性
  7. MCI:移动持续集成在大众点评的实践
  8. node.js ajax success,前端如何通过ajax和node.js交互?
  9. nginx 413 Request Entity Too Large
  10. 聚焦openEuler Summit,解锁云原生、开源等领域的实践干货
  11. char赋值字符串常量和数值的区别
  12. http android下载工具,安卓抓包工具httpcanary
  13. 第一个java程序的错误_我是一名java初学者,执行第一个java程序welcome.java出现了以下错误,这是为什么?...
  14. 哲理短文一则:揭示最好的成功法则
  15. 十个C语言项目,从小白到月入10K
  16. modelsim安装_Modelsim10.5安装教程
  17. java入门编程(菜鸟教程)
  18. Java网络编程之InetAddress类详解,URL和URI的区别,URLDecoder和URLEncoder,IPv6和IPv4区别,IPv6的三种表示方法
  19. WinCam v2.0.0 Windows极简屏幕录像工具单文件版
  20. 大数据时代的变革与顺势而为——读《大数据时代》

热门文章

  1. Centos8安装git
  2. 京东Q2财报解读:不可轻视的新增长曲线
  3. SGD、Momentum、 AdaGrad、Adam
  4. AttributeError: ‘LoginPage‘ object has no attribute ‘driver‘
  5. 企业案例丨腾讯广告助手 X 云开发CloudBase
  6. 60集Python入门视频PPT整理 | Python异常
  7. 奈奎斯特采样定理(Nyquist)
  8. GitLab基础:5种查询GitLab的版本的方法
  9. Python读取postgresql数据库
  10. windows 任务栏的图标变成白色