转自:https://www.douban.com/note/518335786/?type=like

============改变数组的维度==================
已知reshape函数可以有一维数组形成多维数组
ravel函数可以展平数组
b.ravel()
flatten()函数也可以实现同样的功能
区别:ravel只提供视图view,而flatten分配内存存储

重塑:

用元祖设置维度
>>> b.shape=(4,2,3)
>>> b
array([[ 0, 1, 2],
        [ 3, 4, 5],

[ 6, 7, 8],
        [ 9, 10, 11],

[12, 13, 14],
        [15, 16, 17],

[18, 19, 20],
        [21, 22, 23]])

转置:
>>> b
array([0, 1],
       [2, 3])
>>> b.transpose()
array([0, 2],
       [1, 3])

=============数组的组合==============
>>> a
array([0, 1, 2],
       [3, 4, 5],
       [6, 7, 8])
>>> b = a*2
>>> b
array([ 0, 2, 4],
       [ 6, 8, 10],
       [12, 14, 16])

1.水平组合
>>> np.hstack((a,b))
array([ 0, 1, 2, 0, 2, 4],
       [ 3, 4, 5, 6, 8, 10],
       [ 6, 7, 8, 12, 14, 16])
>>> np.concatenate((a,b),axis=1)
array([ 0, 1, 2, 0, 2, 4],
       [ 3, 4, 5, 6, 8, 10],
       [ 6, 7, 8, 12, 14, 16])

2.垂直组合
>>> np.vstack((a,b))
array([ 0, 1, 2],
       [ 3, 4, 5],
       [ 6, 7, 8],
       [ 0, 2, 4],
       [ 6, 8, 10],
       [12, 14, 16])
>>> np.concatenate((a,b),axis=0)
array([ 0, 1, 2],
       [ 3, 4, 5],
       [ 6, 7, 8],
       [ 0, 2, 4],
       [ 6, 8, 10],
       [12, 14, 16])

3.深度组合:沿着纵轴方向组合
>>> np.dstack((a,b))
array([[ 0, 0],
        [ 1, 2],
        [ 2, 4],

[ 3, 6],
        [ 4, 8],
        [ 5, 10],

[ 6, 12],
        [ 7, 14],
        [ 8, 16]])

4.列组合column_stack()
一维数组:按列方向组合
二维数组:同hstack一样

5.行组合row_stack()
以为数组:按行方向组合
二维数组:和vstack一样

6.==用来比较两个数组
>>> a==b
array([ True, False, False],
       [False, False, False],
       [False, False, False], dtype=bool)
#True那个因为都是0啊

==================数组的分割===============
>>> a
array([0, 1, 2],
       [3, 4, 5],
       [6, 7, 8])
>>> b = a*2
>>> b
array([ 0, 2, 4],
       [ 6, 8, 10],
       [12, 14, 16])

1.水平分割(难道不是垂直分割???)
>>> np.hsplit(a,3)
[array([0],
       [3],
       [6]),
 array([1],
       [4],
       [7]),
array([2],
       [5],
       [8])]
split(a,3,axis=1)同理达到目的

2.垂直分割
>>> np.vsplit(a,3)
[array([0, 1, 2]), array([3, 4, 5]), array([6, 7, 8])]

split(a,3,axis=0)同理达到目的

3.深度分割
某三维数组:::
>>> d = np.arange(27).reshape(3,3,3)
>>> d
array([[ 0, 1, 2],
        [ 3, 4, 5],
        [ 6, 7, 8],

[ 9, 10, 11],
        [12, 13, 14],
        [15, 16, 17],

[18, 19, 20],
        [21, 22, 23],
        [24, 25, 26]])

深度分割后(即按照深度的方向分割)
注意:dsplite只对3维以上数组起作用
raise ValueError('dsplit only works on arrays of 3 or more dimensions')
ValueError: dsplit only works on arrays of 3 or more dimensions

>>> np.dsplit(d,3)
[array([[ 0],
        [ 3],
        [ 6],

[ 9],
        [12],
        [15],

[18],
        [21],
        [24]]), array([[ 1],
        [ 4],
        [ 7],

[10],
        [13],
        [16],

[19],
        [22],
        [25]]), array([[ 2],
        [ 5],
        [ 8],

[11],
        [14],
        [17],

[20],
        [23],
        [26]])]

===================数组的属性=================
>>> a.shape #数组维度
(3, 3)
>>> a.dtype #元素类型
dtype('int32')
>>> a.size #数组元素个数
9
>>> a.itemsize #元素占用字节数
4
>>> a.nbytes #整个数组占用存储空间=itemsize*size
36
>>> a.T #转置=transpose
array([0, 3, 6],
       [1, 4, 7],
       [2, 5, 8])

Python之Numpy数组拼接,组合,连接相关推荐

  1. Python中numpy数组的拼接、合并

    转载 https://blog.csdn.net/qq_39516859/article/details/80666070?utm_source=blogxgwz1 Python中numpy数组的合并 ...

  2. python中numpy数组的合并_基于Python中numpy数组的合并实例讲解

    基于Python中numpy数组的合并实例讲解 Python中numpy数组的合并有很多方法,如 - np.append() - np.concatenate() - np.stack() - np. ...

  3. 【Python】Numpy数组的切片、索引详解:取数组的特定行列

    [Python]Numpy数组的切片.索引详解:取数组的特定行列 文章目录 [Python]Numpy数组的切片.索引详解:取数组的特定行列 1. 介绍 2. 切片索引 2.1 切片索引先验知识 2. ...

  4. python中numpy数组和字符串互转(互转后数据完全一致)

    python中numpy数组和字符串互转(互转后数据完全一致) 代码: import numpy as np # 创建数组arr arr = np.array([ -1.8264365 , -0.63 ...

  5. Python中Numpy数组的归一化处理

    背景介绍 在对机器学习的数据进行预处理时,往往都需要归一化,从而避免因特征值范围不同而造成学习结果偏差.本节给出Python中将Numpy数组实现(0,1)归一化的代码,其它种类的归一化再遇到时再进行 ...

  6. python numpy 子数组_详解:Python 取numpy数组的某几行某几列方法(含对与错示例)...

    前言: 今天为大家带来的内容是Python 取numpy数组的某几行某几列方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,要是喜欢的话记得点赞转发收藏不迷路哦!!! ...

  7. python之numpy数组的花式索引

    python之numpy数组的花式索引 #对于一个一维数组,选出其第1,3,4,6,7个元素,组成新的数组# print('----------module1----------') a = np.a ...

  8. python 基于numpy数组的简单图像处理

    文章目录 使用PIL库进行灰度处理 将其旋转180度 使用matplotlib库完成灰度处理 python 基于numpy数组的简单图像处理 如图,以该猫咪图片为例(忽略水印).将该文件命名为cat. ...

  9. 【Python】NumPy数组和矢量计算

    目录 一.NumPy的ndarray:一种多维数组对象: 1.NumPy安装: 2.检测安装是否成功: 二.数组创建: 1.array创建: range的使用: arange创建数组: 2.随机数创建 ...

最新文章

  1. python能做自动化吗-Python自动化 作为代码小白,我是这样成为自动化大神的!...
  2. HttpURLConnection根据URL下载图片
  3. Leet Code OJ 171. Excel Sheet Column Number [Difficulty: Easy]
  4. LeetCode 532. 数组中的K-diff数对
  5. vue中的provide/inject的学习使用
  6. 区块链技术人才严重不足,平均薪资 2.58 万
  7. GCC源码自动编译-python脚本
  8. JAVA小白 编程练习500题 超详细!!!带答案!!!持续更新中~
  9. excel数组和查找and引用函数
  10. java 手写数字识别_10 行代码,实现手写数字识别
  11. java poi 自动行高_Java POI Excel 行高自适应
  12. Cooling-Shrinking Attack: Blinding the Tracker with Imperceptible Noises
  13. welearn考试切屏会有显示吗_welearn班级测试答案
  14. 腾讯程序员与医生相恋,却被女方父母拆散,你们不能在一起
  15. LiveData-原理全解析
  16. Property visible must be accessed with $ or _ are not proxied in the Vue instance to prevent错误
  17. inversion 矩阵_inversion是什么意思_inversion怎么读_inversion翻译_用法_发音_词组_同反义词_倒置-新东方在线英语词典...
  18. Cause: java.sql.SQLException: connection closed问题排查、解决
  19. Google spdy协议
  20. R语言导入数据文件(数据导入、加载、读取)、使用haven包的read_dta函数导入Stata中的dta格式文件

热门文章

  1. 打开了Visual Studio,又关了
  2. paramiko向服务器自动上传下载文件
  3. 区块链最积极的布局者:国内5大银行已将“区块链”应用到5大场景当中
  4. 实战Gradle——第一部分 Gradle介绍
  5. CSS-用伪元素制作小箭头(轮播图的左右切换btn)
  6. 水晶报表左侧树不显示属性设置
  7. 客户端(C#)调用CXF搭建的webservice的出现一些问题记录
  8. DNS and BIND
  9. Ubuntu安装、使用postgresql数据库
  10. oracle awr 修改Snapshots设置