码迷,mamicode.com
首页 > 其他好文 > 详细

numpy模块

时间:2019-06-01 14:02:55      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:拆分   合并   size   运算   range   att   one   类型   code   

numpy属性:

ndim--维度,shape--行数和列数,size--元素个数

import numpy as np



#numpy 数组的创建
a = np.array([2,3,4],dtype=np.int32)#一维数组的创建[2 3 4]
print(a)
b = np.array([[1,2,3],[2,3,4]])#多维数组的创建[[1 2 3] [2 3 4]]
print(b)
c = np.zeros((2,4))#创建全零数组[[0. 0. 0. 0.] [0. 0. 0. 0.]]
print(c)
d = np.ones((3,4),dtype=np.int)#创建全一数组,同时制定数据类型[[1 1 1 1] [1 1 1 1] [1 1 1 1]]
print(d)
e = np.empty((3,4))#创建全空数组,每个数接近于0
print(e)
f = np.arange(1,10,2)#1-10的数据,步长为2
print(f)

g = np.array([2,3,4],dtype=np.int32)
print(g.ndim)#1
print(g.shape)#(3,)
print(g.size)#3
#创建两个1维矩阵
a = np.array([1,2,3,4])
b = np.arange(4)
c1 = a-b#对应相减
c2 = a*b#对应相乘
c3 = a.dot(b)#对应相乘再求和
c4 = b**2#相应位置平方
c5 = np.sin(a)#求sin
a=np.random.random((2,4))#创建2*4的随机数矩阵
print(a)
print(np.sum(a))#矩阵中数的和
print(np.min(a))#矩阵中的最小值
print(np.mean(a))#矩阵中元素的平均值
print(np.sum(a,axis=0))#按列进行求和
print(np.sum(a,axis=1))#按行进行求和
#矩阵基本计算
A=np.arange(2,14).reshape((3,4))#创建一下3*4的矩阵2-13
print(A)
print(np.argmin(A))#最小值的索引
print(np.argmax(A))#最大值的索引
print(np.mean(A))#整个矩阵的均值
print(np.average(A))#平均数
print(A.mean())#平均数
print(np.median(A))#中位数
print(np.cumsum(A))#累加,每个位置的数是前面位置的和
print(np.diff(A))#累差运算,后一个元素减去前一个元素的值

 

A=np.arange(14,2,-1).reshape((3,4))
print(A)#[[14 13 12 11] [10 9 8 7] [6 5 4 3]]
print(np.sort(A))#对每行进行递增排序[[11 12 13 14] [7 8 9 10] [3 4 5 6]]
print(np.transpose(A))#矩阵转置
print(A.T)#矩阵转置
print(np.clip(A,5,9))#将元素取值范围规定到[5,9]区间,比5小变为5,比9大变为9,其余保持不变
                        # [[9 9 9 9] [9 9 8 7] [6 5 5 5]]
#索引和切片
A=np.arange(3,15)#[3 4 5 6 7 8 9 10 11 12 13 14]
B=A.reshape(3,4)#[[ 3  4  5  6] [7  8  9 10] [11 12 13 14]]
print(B[2])#第二行元素[11 12 13 14]
print(B[0][2])#第零行第3个元素5
print(B[1,1:3])#第一行的第1和第2位置的元素[8 9]
print(B[0:2,1:3])#第零行到第一行第1和第2位置元素[[4 5][8 9]]

#打印行
for row in B:
    print(row)#[3 4 5 6] [7 8 9 10] [11 12 13 14]
#打印列
for columns in B.T:
    print(columns)#[3 7 11][4 8 12][5 9 13][6 10 14]

#多维数组变成一维
C = np.arange(3, 15).reshape((3, 4))
print(C)#[[ 3  4  5  6][ 7  8  9 10][11 12 13 14]]
D=C.flatten()
print(D)#[ 3  4  5  6  7  8  9 10 11 12 13 14]
#数组的合并与拆分
A=np.arange(1,16).reshape(3,5)
print(A)
#分割
print(np.split(A,3,axis=0))#5为拆分的数组个数,axis为分割方向


B=np.array([1,1,1])
C=np.array([2,2,2])
print(np.vstack((B,C)))#上下合并
print(np.hstack((B,C)))#左右合并

D=np.array([[1,2,3,4,5],[6,7,8,9,10]])
print(D)#[[ 1  2  3  4  5] [ 6  7  8  9 10]]
E=D*2
print(E)#[[ 2  4  6  8 10] [12 14 16 18 20]]
print(np.dstack((D,E)))#深度合并[[[1  2] [2  4] [3  6] [4  8] [5 10]] [[6 12] [7 14] [8 16] [9 18] [10 20]]]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

numpy模块

标签:拆分   合并   size   运算   range   att   one   类型   code   

原文地址:https://www.cnblogs.com/Manuel/p/10959214.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!