首页 > 其他分享 >numpy的数据类型转换和数组广播

numpy的数据类型转换和数组广播

时间:2023-10-19 12:22:59浏览次数:157  
标签:类型转换 numpy 数组 np array data

numpy对象的常用属性

第一种方法装好python,然后打开终端输入pip install jupyter(如果觉得速度慢可以加上镜像站 -i https://pypi.douban.com/simple/),然后再输入pip install notebook (这里和前面一样,觉得慢就加镜像), 打开在终端输入 jupyter notebook。

另一种方法就是去anaconda官网下载anaconda。

如果用的第一种方法就需要 pip install numpy

import numpy as np                            # 导入这个库
data = np.arange(12).reshape(3,4)             # 创建一个3行4列的数组
print(data)                                  # 打印data
type(data)                                    #展示data的类型,输出结果为 numpy.ndarray 表示为数组类型

求数组的维度的个数

data.ndim         

求数组的维度

data.shape

求数组的元素类型

data.dtype

求数组的元素个数

data.size

求数组每个元素的字节大小

data.itemsize

特殊数组

np.zeros(): 全为0的数组

# 创建一个三行三列的0数组
np.zeros((3,3))

np.ones():全为1的数组

# 创建一个四行四列的全为1的数组
np.ones((4,4))

np.empty():创建一个空数组,里面的值是随机值,只分配了内存空间

# 创建一个5行5列的空数组
np.empty((5,5))

数组的类型转换 .astype()

import numpy as np
data_1 = np.array([[1,2,3],[4,5,6]])
print(data_1)
# 查询数组类型
data_1.dtype

对数组进行数据类型转换

常见的有:int8,16,32,64,float8,16,32,64,uint8,16,32,64

data_1.astype(np.float64)

数组广播

两个或两个以上数组广播需要满足的条件(满足其中之一即可):

  1. 数组的某一维度等长

  2. 其中一个数组的某一维度为1

 

下面为第二种情况:

data_2 = np.array([[1],[2],[3],[4]])
data_3 = np.array([1,2,3])
data_2+data_3

输出结果为:

array([[2, 3, 4],
       [3, 4, 5],
       [4, 5, 6],
       [5, 6, 7]])

下面为第一种情况:

data_2 = np.array([[1,2,3],[2,3,4],[3,4,5],[4,5,6]])
data_3 = np.array([1,2,3])
data_2+data_3

输出结果为:

array([[2, 4, 6],
       [3, 5, 7],
       [4, 6, 8],
       [5, 7, 9]])

当有三个数组时的第一种情况:

data_2 = np.array([[1,2,3],[2,3,4],[3,4,5],[4,5,6]])
data_3 = np.array([1,2,3])
data_4 = np.array([4,5,6])

输出结果:

array([[ 6,  9, 12],
       [ 7, 10, 13],
       [ 8, 11, 14],
       [ 9, 12, 15]])

当有三个数组时的第二种情况:

data_2 = np.array([[1],[2],[3],[4]])
data_3 = np.array([1,2,3])
data_4 = np.array([4,5,6])

输出结果:

array([[ 6,  8, 10],
       [ 7,  9, 11],
       [ 8, 10, 12],
       [ 9, 11, 13]])

 

 

 

 

标签:类型转换,numpy,数组,np,array,data
From: https://www.cnblogs.com/yaya000/p/17774439.html

相关文章

  • C#判断当前时间是否在规定时间段范围内(二维数组超简版)
    直接上C#代码TimeSpannowTime=DateTime.Now.TimeOfDay;string[,]arr={{"7:50","8:10"},{"9:55","10:15"},{"13:55","14:10"},{"15:55","16:10"},{"18:55",......
  • 【LCT、树状数组】CF1137F Matches Are Not a Child's Play
    哈人*3400,是不是贺过了个1F(?单点编号\(\tomax+1\),动态维护prufer序列删除了哪些点。看似不可做,但是不难发现我们一个点被更改其他点的相对次序不会改变,反而\(x\tomax\)这条链的删除次序到了最后面。然后我们以权值最大点为根,不难发现每次只是对根到该点的链更改了......
  • 数组中的一个值接收到一个字符需要转成int类型处理
    例如定义一个charrxbuff[10]的数组数组中的一位收到一个字符rxbuff[2]='I'转成int类型需要定义charstr[1];str[0]=rxbuff[2];str[1]='\0';//把str转成字符串atoi(str);//函数转换例如charstr[1];str[0]=(char)uart_pump.Rx_Buf[3];str[1]='\0';usR......
  • IO流,字节数组输入流,字节数组输出流
    字节数组流:通常用在流和数组需要转换的地方字节数组输入流:ByteArraylnputStream 说白了,FilelnputStream是把文件当做数据源。ByteArraylnputStream则是把内存中的”字节数组对象”当做数据源。 ByteArraylnputStream的构造方法中需要传入一个字节数组对象  结果: ......
  • 将数组转换为ArrayList
    内容来自DOChttps://q.houxu6.top/?s=将数组转换为ArrayList给定一个类型为Element[]的数组:Element[]array={newElement(1),newElement(2),newElement(3)};如何将这个数组转换为类型为ArrayList<Element>的对象?ArrayList<Element>arrayList=???;将数组转......
  • 如何将一个元素插入到数组的特定索引位置?
    内容来自DOChttps://q.houxu6.top/?s=如何将一个元素插入到数组的特定索引位置?我正在寻找一个JavaScript数组插入方法,类似于:arr.insert(index,item)最好是在jQuery中,但任何JavaScript实现都可以。你想要在原生数组对象上使用splice函数。arr.splice(index,0,item......
  • vue 数组 下标/索引 响应式修改
    this.data对象中的一个数组属性[3]="ttt";//修改后,值有时候在模板中能更新(可能第一次是可以的?),有时候不更新splice实现的等效效果:this.data对象中的一个数组属性.splice(3,1,"ttt");$set实现的等效效果:this.set(this.data对象中的一个数组属性,3,"ttt");......
  • 2023-10-18:用go语言,给定一个数组arr,长度为n,表示有0~n-1号设备, arr[i]表示i号设备的型
    2023-10-18:用go语言,给定一个数组arr,长度为n,表示有0~n-1号设备,arr[i]表示i号设备的型号,型号的种类从0~k-1,一共k种型号,给定一个k*k的矩阵map,来表示型号之间的兼容情况,map[a][b]==1,表示a型号兼容b型号,map[a][b]==0,表示a型号不兼容b型号,兼容关系是有向图,也就是a型号兼容b型号......
  • C语言-读取一个目录中的文件,并将文件名写入数组
    C语言-读取一个目录中的文件,并将文件名写入数组注意点:文件名是字符串,放入数组,需要数组二维数组,array[m][n],m表示字符串的个数,n表示字符串的长度;使用函数char*strcpy(char*destination,constchar*source),例如:charstrings[3][10];strcpy(strings[0],"hello");......
  • JS数组对象合并,a,b 合并为c
    vara=[{id:2,nickname:"韩信",checked:false},{id:7,nickname:"刘邦",checked:true},];varb=[{id:2,nickname:"韩信",checked:false},{id:7,nickname:"刘邦",checked:false},{id:8,nickname:&......