当前位置: 首页 > news >正文

网站如何做下一页建筑设计公司起名大全

网站如何做下一页,建筑设计公司起名大全,自媒体一号WordPress主题,如何编辑网站利用python做数据处理和分析过程中,如在开展机器学习的数据预处理、数据格式转换等等,不可避免的会涉及到各种矩阵变换,其中使用最多的就是numpy下的矩阵变换,以下是日常用到的一些矩阵变换总结,主要有矩阵中数据类型的…

       利用python做数据处理和分析过程中,如在开展机器学习的数据预处理、数据格式转换等等,不可避免的会涉及到各种矩阵变换,其中使用最多的就是numpy下的矩阵变换,以下是日常用到的一些矩阵变换总结,主要有矩阵中数据类型的整体转换、矩阵维度增减、多矩阵拼接、矩阵切片获取和多矩阵迭代等等,当然,pandas也有相应的矩阵变换操作,相对更复杂,后续会逐步发出来,供参考。

1.转换元素类型和增加维度

import numpy as np
data_pre=np.random.randint(2,10,size=[5,3]) #生成一个5*3的二维整形矩阵,数据范围在2~10之间
data_pre = np.array(data_pre, dtype=np.float32) #数据转换为float
target=np.random.random(10) #随机生成一个一维矩阵,10个数
target = np.array(target, dtype=np.float32).reshape(-1, 1) #数据转换为多行1列数据,相当于增加维度,float型,可以不用的。
data_pre= np.arange(0.0, 5.0, 0.1)[:, np.newaxis] #np.arange会生成一个一维矩阵,希望data_pre是一个二维矩阵,用np.newaxis相当于给数据增加一个维度
target=np.random.random(10) #随机生成一个一维矩阵,10个数
target=target.reshape(-1, 1) #实现行转换为列,转换前y_raw为100个数的一维矩阵,转换后y_raw为100*1的二维矩阵

2.拉平或降低维度

rng = np.random.RandomState(42) #获得随机数生成器,使得每次得到的随机数系列相同
X = np.sort(5 * rng.rand(100, 1), axis=0) #获的100个0到5的随机数给X,X.shape=(100,1),二维
y = np.sin(X).ravel() #矩阵多维度拉成一维矩阵,ravel() 返回的是视图,影响原始矩阵y,flatten() 返回的是拷贝。y.shape=(100,)
import cv2
img_data = cv2.imread('data/lena.jpg', cv2.IMREAD_COLOR) #利用opencv读取图片
img_data = img_data.reshape((-1, 3)) #将三维转换为二维,相当于高度和宽度相乘合并,最后一维不变(3列),转换前img_data:225*225*3,转换后50625*3
#整体维度不变,实现第一个维度行数调整,相当于根据labels找到centers[labels]生成新的new_colors数据,按照labels行数增加,如centers:16*3,labels:50625*3,转换后的new_colors为50625*3
# new_colors = centers[labels].reshape((-1, 3))

3.拼接矩阵

X_pos=np.random.randn(5,3) #随机生成一个10*3的二维矩阵
X_neg=np.random.randn(5,3) #随机生成一个10*3的二维矩阵
# 行拼接
#方式1:二维矩阵,列数不变,行数顺序追加,相当于行顺序拼接,两个矩阵的列数必须相同
X = np.concatenate((X_pos, X_neg))
#方式2:二维矩阵,列数不变,行数顺序追加,相当于行顺序拼接,两个矩阵的列数必须相同
X2=np.r_[X_pos,X_neg]
# 列拼接
#二维矩阵,行数不变,列数顺序追加,相当于列顺序拼接,两个矩阵的行数必须相同
X1=np.c_[X_pos,X_neg]
y_pos=np.random.random(3) #随机生成一个一维矩阵,3个数
y_neg=np.random.random(5) #随机生成一个一维矩阵,5个数
#一维矩阵,行数不变,列数顺序追加,相当于列顺序拼接
y = np.concatenate((y_pos, y_neg))

4.获取矩阵片段

int_list=np.random.randn(10,5) #随机生成一个10*5的二维矩阵
#list获取切片
#int_list[start:stop:step],参数分别为开始,结束和步长
print(int_list)
#对于一维矩阵,获取第1维度的第0,2,4...,步长为2的数据
#对于二维矩阵,获取第2维度的第0~10列,并指定获取第一维度的步长为2,获取的行数=stop/step,如下示例时5行数据
print(int_list[0:10:2])
print(int_list[0:5,:4]) #获取第1维度的第0~5行,第2维度的前4列数据
#对于三维矩阵
arr_float_3d = np.ones((3, 5, 4))
print(arr_float_3d)
#多维list获取第一通道数据
x=arr_float_3d[0, :, :]
#多维list获取第一通道,0~3行数据,第3列到结束的数据
x=arr_float_3d[0, :3, 3:]

5.zip内建函数

zip(*iterables)是内建函数
传入参数:元组、列表、字典等迭代器。
返回参数:一个元组迭代器,将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。主要用于遍历元组。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
X1=np.random.random(5) #随机生成一个一维矩阵,5个数
Y1=np.random.randn(5).astype(np.int32) #随机生成一个一维矩阵,5个数,转换为整数
Z1=np.array([True, False, True, True, False]) #列表,bool值
zz=zip(X1,Y1,Z1)
result = [(a,b,c) for a,b,c in zip(X1,Y1,Z1)]
print(result)
x,y,z=zip(*zz) #元组转换为列表
print(list(x))
zz=zip() #没有参数时,返回的是空列表

http://www.yayakq.cn/news/865107/

相关文章:

  • 电商网站变化h5源码
  • 东莞建网站平台如何做淘宝商城网站设计
  • 开网站 主机 服务器做神马网站快速排名软
  • 合肥网站建设晨飞糟糕的网站设计
  • 长沙网站开发流程石家庄专业网站设计电话
  • 怎么建设百度网站wordpress 自动剪裁
  • 网站有备案号网站开发技术现状
  • 网站建设seo 视频建设银行网站多少
  • 唐河网站制作公司安徽谷歌seo
  • 网站静态化对seocrm系统有哪些
  • 网站备案状态查询企业信息型网站有哪些
  • 电子商务网站建设资料前端后端
  • 杭州网站建设代理商交易网站前期建设方案
  • xxx网站建设策划书范文云梦模板网站优缺点
  • 网站建设实训报告模板外贸平台管理制度
  • 饮食类网站网站权限怎么设置
  • 帝国建站系统订做网站和app
  • 免费模板网站下载无锡公司建立网站
  • php 读取网站文件中国建设银行预约网站首页
  • 廊坊高端品牌网站建设c asp做网站
  • 企业网站备案申请动态速写网站
  • 银川网站开发网站运营推广怎做
  • 国外网站推广软件天津业之峰装饰公司怎么样
  • 互联网行业网站模板北京市住房与城乡建设网站
  • winserver2008上用iis发布网站鹤岗建设局网站
  • 网站开发需求分析中性能需求wordpress 启动流程
  • 做不好的网站违法吗创建一个网站网站空间费用
  • 做电商平台网站有哪些内容哪些知名网站用wordpress
  • php网站做cdn手机苗木网站源码
  • 天津网站备案重庆网站制作系统