numpy二进制转换和范围缩放

觉得有用的话,欢迎一起讨论相互学习~Follow Me

一维二进制转换

import numpy as np
# 一维二进制数组转换
a=np.array([0,1,1,0,1,1]) #[1,6]
print(a.shape)
# (6,)
# 转换算子
Bi_conver_op=2**np.arange(a.shape[0]) # shape=[1,6]
print("Bi_conver_op",Bi_conver_op)
# [ 1 2 4 8 16 32]
b=a.dot(Bi_conver_op[::-1].T)
# [0,1,1,0,1,1]x[32,16,8,4,2,1].T
print("b",b) # 27

二维二进制数组转换

two_di_a=a.reshape(1,6).repeat(4,axis=0) # [4,6]
print("two_di_a \n",two_di_a)
# two_di_a
# [[0 1 1 0 1 1]
# [0 1 1 0 1 1]
# [0 1 1 0 1 1]
# [0 1 1 0 1 1]]
two_di_b=two_di_a.dot(Bi_conver_op[::-1].T)
print("two_di_b",two_di_b)
# two_di_b [27 27 27 27]

二维二进制数组范围缩放

二维二进制数组范围缩放到[0,1]

# 将其缩放到[0,1]之间 2**6-1=63,因为原范围为[0,63]
two_di_b_rescale=two_di_b.astype(float)/float(2**a.shape[0]-1)
print("two_di_b_rescale",two_di_b_rescale)
# two_di_b_rescale [ 0.42857143 0.42857143 0.42857143 0.42857143]

二维二进制数组范围缩放到[5,10]

# 将其缩放到[5,10]之间
low_rescale=5
high_rescale=10
two_di_b_rescale_5_10=two_di_b_rescale*(high_rescale-low_rescale)+low_rescale
print("two_di_b_rescale_5_10",two_di_b_rescale_5_10)
# two_di_b_rescale_5_10 [ 7.14285714 7.14285714 7.14285714 7.14285714]

numpy二进制转换和范围缩放的更多相关文章

  1. 解决vmware“二进制转换和长模式与此平台兼容.....”问题

    问题描述: 启动vmware显现:1.二进制转换和长模式与此平台兼容....字等.: 2.vmware启动一会,系统直接重新启动,这个现象出如今惠普电脑上 问题原因: 出现这种原因一般都是因为系统Vi ...

  2. python 二进制转换

    #二进制装换msg = "大家好"msg1 = msg.encode(encoding='utf-8')#转换成二进制print(msg1)msg2 = msg1.decode(' ...

  3. bitset,2018蓝桥杯-明码(二进制转换)

    bitset可以存储二进制数位 bitset<8> x(2); cout<<x<<endl; //输出:00000010 #include <iostream ...

  4. c#代码 天气接口 一分钟搞懂你的博客为什么没人看 看完python这段爬虫代码,java流泪了c#沉默了 图片二进制转换与存入数据库相关 C#7.0--引用返回值和引用局部变量 JS直接调用C#后台方法(ajax调用) Linq To Json SqlServer 递归查询

    天气预报的程序.程序并不难. 看到这个需求第一个想法就是只要找到合适天气预报接口一切都是小意思,说干就干,立马跟学生沟通价格. ​ ​不过谈报价的过程中,差点没让我一口老血喷键盘上,话说我们程序猿的人 ...

  5. Java基础数据类型二进制转换

    前言: 本文主要介绍java基础类型的二进制转换和二进制的基本概念. 二进制: 1,二进制是以0和1为码,逢2进1,比如3=11=1*2+1. 2,在计算机当中其它进制的算法基本基于2进制,因为计算机 ...

  6. Cash Machine(多重背包二进制转换)

    个人心得:多重背包,自己根据转换方程写总是TLE,后面去网上看了二进制转换,不太理解: 后面仔细想了下,用自己的思想理解下把,就是将对应number,cash总和用二进制拆分, 然后全部装入到一个数组 ...

  7. JAVA 十六进制和十进制、二进制转换

    java十六进制和十进制.二进制转换 十进制转化成十六进制 Integer x = 100; hex = x.toHexString(x); 十六进制转化成十进制 Integer.parseInt(h ...

  8. 华硕主板 Vmware虚拟机 二进制转换与此平台上的长模式不兼容

    出现情况如下: 大概遇到过两次这个问题,第一次是在笔记本VM上装虚拟机,第二次是在台式机VM上装虚拟机. 原因是因为虚拟化(Intel Virtualization Technology)技术,在主板 ...

  9. Gson字符串编码,字符串转换成图片保存,二进制转换成图片保存

    import java.io.BufferedInputStream; import java.io.ByteArrayInputStream; import java.io.File; import ...

随机推荐

  1. Tomcat提高并发

    Centos7环境下Tomcat 启动慢的解决方案1.增加熵值(本质增加random)安装软件 >> Yum –y install rng-tools 启动熵服务 >> Sys ...

  2. 【动态规划】POJ-2229

    一.题目 Description Farmer John commanded his cows to search for different sets of numbers that sum to ...

  3. windows和RedHat双系统安装说明

    该博客记录了安装windows和RedHat双系统的方法.这里的windows系统是win8.1,RedHat是RHEL-server-7.0-x86_64-LinuxProbe.Com.iso,该i ...

  4. week3b:个人博客作业

    vs2013的初步使用 由于自己在写这篇博客的时候已经把vs2013安装完毕,就我写了. 这是2013的使用步骤 第一步 注释 箭头指的方向是“点击” 第二步 第三步 第四步 第5步 第六步 最后点击 ...

  5. WinForm中DataGridView的快速查找及将指定行显示到第一行

    /// <summary> /// 快速在已绑定的列表查询车辆 /// </summary> /// <param name="sender"> ...

  6. 词频统计(WEB)版

    需求: 在以前的基础上把程序迁移到web平台,通过用户上传TXT的方式接收文件. 前端页面代码: <%@ Page Language="C#" AutoEventWireup ...

  7. Rsyslog日志服务搭建

    rsyslog是比syslog功能更强大的日志记录系统,可以将日志输出到文件,数据库和其它程序.Centos 6.x默认的rsyslog版本是5.x. 网上关于rsyslog的安装配置文档倒是不少,但 ...

  8. Mysql innodb 间隙锁 (转)

    MySQL InnoDB支持三种行锁定方式: 行锁(Record Lock):锁直接加在索引记录上面. 间隙锁(Gap Lock):锁加在不存在的空闲空间,可以是两个索引记录之间,也可能是第一个索引记 ...

  9. 【版本管理】git本地操作

    1.初始化一个Git仓库,使用git init命令. 2.添加文件到Git仓库,分两步: • 第一步,使用命令git add 文件名,注意,可反复多次使用,添加多个文件: • 第二步,使用命令git ...

  10. html实现鼠标悬停变成手型实现方式

    1.采用a标签实现的方式 <a href="javascript:void()">内容</a> 2.采用CSS实现的方式 // 变手形 oElement.s ...