7.30_numpy

基本属性

import numpy as np

A = np.array([1,1,1])
B = np.array([2,2,2])

C = np.vstack((A, B)) # 参数为元组,vertical stack
D = np.hstack((A, B)) #             horizontal stack
print(C)
print(D)
print(A.shape, C.shape, D.shape)
#将初始序列转变为矩阵,并改变维度
print('A.T.shape:',A.T.shape)
print('A[np.newaxis,:].shape:',A[np.newaxis,:].shape) # 在行上面增加维度axis
print('A[:,np.newaxis].shape:',A[:,np.newaxis].shape) # 在列上面增加维度axis

E = np.concatenate((A, B, A, B), axis = 0) # 一个参数为要合并的array组成的元组,第二个设置行和列
print(E)

import numpy as np

array =  np,array([[1, 2, 3], 
			   	   [2, 3, 4]])
print(array)
print('number of dimation:', array.ndim) # array的维数
print('shape:', array.shape) # 行列数元组
print('size:',array.size)

创建array

a = np.array([[1, 2, 3 ,4],
              [5, 6, 7, 8]],
					  dtype=np.int) # 第一个参数参数为列表,第二个参数为类型
print(a.dtype)
a = np.zeros( (3, 4) ) # 参数为array的shape
a = np.ones( (3, 4) ) # 参数为array的shape
a = np.arange(12).reshape((3,4))
a = np.linspace(1, 10, 6)

基础运算

import numpy as np

a = np.array([[10, 20],
              [30, 40]])
b = np.arange(4).reshape(2,2)
c = a - b
c = b**2 # 数组b中各元素的平方
c = 10 * np.sin(a)
c = a * b # a,b中逐个相乘
c_dot = np.dot(a, b) # a,b进行矩阵点乘
c_dot_2 = a.dot(b) # 同上
print(b)
print(b<3)
# 统计矩阵
np.sum(a) # 所有元素的和
np.sum(a, axis = 0) # axis表示轴维度是多少,1代表行row,0代表列column
np.min(a)
np.min(a, axis = 0) # 列中最小
np.max(a, axis = 1) # 行中最大

基本运算2

a = np.arange(14,2,-1).reshape((3,4))
np.argmin(a) # a中最小值的索引
a.mean()
np.mean(a, axis=1) # 按行求平均
np.cumsum(a) # 累加求和
np.diff(a) # 相邻元素差,后 - 前
np.nonzero(a)
np.sort(a)
np.transpose(a) # 转置矩阵
a.T
np.clip(a, min, max) # 将元素大小统一到min - max 之间

遍历

import numpy as np

a = np.arange(14,2,-1).reshape((3,4))
print(a)
print(a[2])
print(a[2][2])
print(a[2,2]) # 通过索引获得值
print(a[1,:]) # 获得整行
print(a[:,1]) # 获得整列
# 迭代行
for row in a:
    print(row)
# 迭代列
print(a.T)
for column in a.T:
    print(column)
# 迭代所有元素
print(a.flatten()) # 返回一个array
print(a.flat) # 将a转换为可迭代对象
for item in a.flat:
    print(item)

合并

import numpy as np

A = np.array([1,1,1])
B = np.array([2,2,2])

C = np.vstack((A, B)) # 参数为元组,vertical stack
D = np.hstack((A, B)) #             horizontal stack
print(C)
print(D)
print(A.shape, C.shape, D.shape)
#将初始序列转变为矩阵,并改变维度
print('A.T.shape:',A.T.shape)
print('A[np.newaxis,:].shape:',A[np.newaxis,:].shape) # 在行上面增加维度axis
print('A[:,np.newaxis].shape:',A[:,np.newaxis].shape) # 在列上面增加维度axis

E = np.concatenate((A, B, A, B), axis = 0) # 一个参数为要合并的array组成的元组,第二个设置行和列
print(E)
np.split(A, 3, axis = 1) # 均等分割
np.array_split(A, 3, axis = 1) # 可不均等
np.vsplit(A, 3) # 对纵向进行可不均等分割
np.hsplit(A, 3) # 对横向进行可不均等的分割

np.array简单赋值

import numpy as np
A = np.arange(12)
B = A # 关联性赋值
C = A.copy() # 非关联性赋值 deep copy

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值