numpy:数组的形状与展开

  先将模块导入文件中

import numpy as np

1、使用shape属性修改数组的形状

arr.shape = (4, 4)
arr.shape = 4, 4
arr.shape = [4, 4]

  使用shape属性修改原数组形状的方法有以上三种,只要元素个数相同,可以随意更改数组的形状

2、使用reshape()方法修改数组的形状

arr = arr.reshape((4, 4))

  使用reshape()方法可以修改数组的属性,在不改变原数组的情况下返回一个新的数组,只要元素个数相同,可以随意更改数组的形状

3、创建数组时设置数组的形状

arr = np.arange(16).reshape((4, 4))

  同时使用创建数组的api和改变数组形状的方法

4、将高维数组展开

res = arr.flatten(order="C") #按行展开 C风格展开
res = arr.flatten(order="F")  # 按列展开, F 风格展开
res = arr.ravel() # 按行展开  C风格展开
res = arr.ravel(order=‘F‘)  # 按列展开 ,F 风格

  可使用flattrn()或ravel()方法将数组展开,参数order设置展开的方式

原文地址:https://www.cnblogs.com/xmcwm/p/11832355.html

时间: 2024-10-11 15:43:28

numpy:数组的形状与展开的相关文章

【数据分析&数据挖掘】数组的形状

1 import numpy as np 2 3 # 创建一个数组 4 arr = np.arange(16) 5 print("arr:\n", arr) 6 print("arr的形状:", arr.shape) 7 8 # 创建数组的时候不一定能指定其形状 9 # 创建好之后,可以进行形状的修改 10 11 # 可以通过shape属性改变形状,元素个数得一致 12 13 arr.shape = (4, 4) 14 arr.shape = 4, 4 15 arr

numpy数组、向量、矩阵运算

可以来我的Github看原文,欢迎交流. https://github.com/AsuraDong/Blog/blob/master/Articles/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/numpy%E6%95%B0%E7%BB%84%E3%80%81%E5%90%91%E9%87%8F%E3%80%81%E7%9F%A9%E9%98%B5%E8%BF%90%E7%AE%97.md import numpy as np import pandas as pd

numpy数组广播

numpy数组的广播功能强大,但是也同时让人疑惑不解,现在让我们来谈谈其中的原理. 广播原则: 如果两个数组的后缘维度(即:从末尾开始算起的维度)的轴长相符或其中一方的长度为1,则认为它们是广播兼容的,广播会在缺失和(或)长度为1的轴上进行. 上面的原则很重要,是广播的指导思想,下面我们来看看例子. 1.其实在最简单的数组与标量数字之间的运算就存在广播,只是我们把它看作理所当然了. 2.再看下一个例子,这个大家都会一致认为这是广播了 根据广播原则:arr1的shape为(4,1),arr2的sh

numpy 数组创建例程

1 numpy.empty empty(shape[, dtype=float, order='C']) 创建指定 shape 和dtype 的未初始化数组 返回:ndarray. 说明:order = 'C' 或 'F' 'C'是按行的C风格的数组,'F'为按列的Fortran 风格数组. import numpy as np a = np.empty((3,3),dtype = int) print(a) 运行 [[ 6553665 7471204 7536741] [ 4587635 71

数据分析(1) Numpy数组

Numpy的数组类被称作ndarray,通常被称作数组. 特点:元素类型相同,数量事先给定. 1 创建方式 (1)array( ):接收一个普通的Python序列(元组与列表并无区别),并将其转换为ndarray: # 使用列表创建 list1 = [1, 2, 3, 4, 5] print('使用一维列表创建:\n', np.array(list1)) list2 = [[1, 2, 3], [4, 5, 6]] print('使用二维列表创建:\n', np.array(list2)) #

1.5 NumPy数组的计算:广播

目录 第一章 numpy入门 1.5 数组的计算:广播 1.5.1 广播的介绍 1.5.2 广播的规则 1.5.3 广播的实际应用 第一章 numpy入门 1.5 数组的计算:广播 1.5.1 广播的介绍 对于同样大小的数组,二进制操作是对相应元素的逐个计算: import numpy as np a = np.array([1,3,5]) b = np.array([2,4,6]) c = np.ones((3,3)) print("原数组a:\n",a) print("原

numpy 数组对象

numpy 数组对象NumPy中的ndarray是一个多维数组对象,该对象由两部分组成:实际的数据,描述这些数据的元数据# eg_v1 import numpy as np a = np.arange(5) # 创建一个包含5个元素的NumPy数组a,取值分别为0~4的整数 print (a) # [0 1 2 3 4] print (a.dtype) # dtype 查看数组的数据类型 # int32 (数组a的数据类型为int32) # 确定数组的维度(数组的shape属性返回一个元组(tu

Python numpy数组扩展效率问题

Numpy库的ndarray数组可以方便地进行各种多维数据处理工作 可是它最大的缺点就是不可动态扩展--"NumPy的数组没有这种动态改变大小的功能,numpy.append()函数每次都会重新分配整个数组,并把原来的数组复制到新数组中."(引用自http://blog.chinaunix.net/uid-23100982-id-3164530.html) 场景: 今天用ndarray处理 42000 条数据时,就遇到了数组扩展的效率问题 文件名:train.csv(后附下载) 文件大

题目1065:输出梯形 (直接用循环控制输出)+题目1432:叠筐 (数组控制形状,最后输出数组)

题目1065:输出梯形 (直接用循环控制输出)+ 样例输入: 4  样例输出:                        **** ****** ******** ********** 题目1432:叠筐    样例输入:                        11 B A 5 @ W 样例输出:                        AAAAAAAAA ABBBBBBBBBA ABAAAAAAABA ABABBBBBABA ABABAAABABA ABABABABABA A