ndarray数组变换

1 import numpy as np

维度变换

1 a = np.arange(24)
2 a
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])

reshape(),视图,不修改原数组

1 a.reshape(4,6)
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]])
1 a.reshape(2,3,4)
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]]])
1 a
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])

resize() 修改原数组

1 a.resize(2,3,4)
1 a
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]]])

对数组降维,返回折叠后的一维数组,修改视图

1 a.flatten()
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])

类型变换

1 b = np.array([True,20,177.7])
2 b,b.dtype
(array([  1. ,  20. , 177.7]), dtype(‘float64‘))
1 # 定义数组时修改类型
2 np.array([True,20,177.7],dtype=np.int)
array([  1,  20, 177])
1 #调用数组时修改类型  #并不改变原数组
2 b
3 b.astype(np.int) #改变视图
array([  1,  20, 177])
1 b.astype(np.unicode_)
array([‘1.0‘, ‘20.0‘, ‘177.7‘], dtype=‘<U32‘)
1 b
array([  1. ,  20. , 177.7])

原文地址:https://www.cnblogs.com/doitjust/p/9302635.html

时间: 2024-07-30 13:13:10

ndarray数组变换的相关文章

Python开发:NumPy学习(一)ndarray数组

一.数据维度 一个数据表达一个含义,一组数据表达一个或多个含义. 数据维度概念:一组数据的组织形式,其中有一维数据.二维数据.多维数据.高维数据. 1.  一维数据 一维数据由对等关系的有序或无序数据构成,采用线性方式组织. 对应:列表.集合 #列表有序 [1,2,3,4,5] #集合无序 {1,2,3,4,5} 2.二维数据 二维数据由多个一维数据构成,是一维数据的组合形式. 对应:列表 [[1,2,3],[4,5,6]] 3.多维数据 多维数据由一维或二维数据在新维度上扩展形成. 对应:列表

数组变换--全国模拟(三)

[编程题] 数组变换 时间限制:1秒 空间限制:32768K 牛牛有一个数组,里面的数可能不相等,现在他想把数组变为:所有的数都相等.问是否可行. 牛牛可以进行的操作是:将数组中的任意一个数改为这个数的两倍. 这个操作的使用次数不限,也可以不使用,并且可以对同一个位置使用多次. 输入描述: 输入一个正整数N (N <= 50) 接下来一行输入N个正整数,每个数均小于等于1e9. 输出描述: 假如经过若干次操作可以使得N个数都相等,那么输出"YES", 否则输出"NO&q

NumPy学习:创建ndarray数组(linespace,arange,uniform,normal)

""" 创建ndarray数组(linespace,arange,uniform,normal) """ import numpy as np print("linespace:", np.linspace(0, 100, 5)) # 等间隔的序列 print("arange:", np.arange(10, 50, 10)) # 每间隔10 print("uniform:", np.r

数据分析2 numpy(ndarray数组,属性,创建,索引切片,运算,函数,随机数), Pandas(Series创建,缺失值处理,特性,索引,DataFrame)

Numpy numpy数据类型 1.为啥使用numpy ? ndarray是一个多维数组列表 Numpy的核心特征就是N-维数组对----ndarray 它和python中的列表区别: 1.数组对象内元素类型必须相同 2.数组大小不可修改 2.创建ndarray     数组 3.常见的属性 数据类型 astype()方法可以修改数组类型 4.ndarray的创建方式 5.索引 6.切片 7.数组的向量运算和矢量运算 8. 布尔型索引 9.花式索引 10.一元函数 11.数学统计函数 12.随机

numpy的ndarray数组如何reshape成固定大小

在做肺结节检测的时候,遇到dicom文件reshape之后尺寸大小不一.因为大下不一,numpy.reshape又无法重塑成指定大小的.最后还是在一个大牛的代码中找到了解决方法. VL = np.load(r'D:\pycharm\TEAMWORK\Preprocess_3D\imageOR.npy')# 我的imageOR中,每一个文件除了3维的ndarray之外,还保存了标签lab,所以下面写成isometric_volume[0],所以如果你只有数组信息,直接将后面的[0]去掉即可vota

Python中ndarray数组切片问题a[-n -x:-y]

先看看如下代码: >>a=np.arange(10)>>a array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])>>a[-7] array([3, 4, 5, 6, 7, 8, 9])>>a[-7 -1:-1] array([2, 3, 4, 5, 6, 7, 8])>>a[-7 -1:-2] array([2, 3, 4, 5, 6, 7])>>a[-7 -2:-1] array([1, 2, 3, 4, 5,

ndarray数组自动创建

为了实现某些运算,需要快速构造符合要求的大数组 Numpy函数生成的数组,如不指定类类型,几乎全为浮点型(arange除外,它是整形),因为科学计算中测量值,例如温度.长度,都是浮点数 1 import numpy as np 2 import matplotlib.pyplot as plt 3 plt.style.use('seaborn') 1 np.arange(20) array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 1

LeetCode 5096. 数组变换

地址 https://leetcode-cn.com/contest/biweekly-contest-12/problems/array-transformation/ 首先,给你一个初始数组 arr.然后,每天你都要根据前一天的数组生成一个新的数组. 第 i 天所生成的数组,是由你对第 i-1 天的数组进行如下操作所得的: 假如一个元素小于它的左右邻居,那么该元素自增 1.假如一个元素大于它的左右邻居,那么该元素自减 1.首.尾元素 永不 改变.过些时日,你会发现数组将会不再发生变化,请返回

把数组变换成字符串

int[] arr = {1,2,3}; for(int i=0;i<arr.length();i++){ String temp  = "["; if(temp==arr.length()-1){ temp = temp+arr[i]+"]" }else{ temp = temp+arr[i]+", "  } //如果将上面的判断换成正则表达式的话 //temp = temp+((i==arr.length()?arr[i]+"