前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python学习之numpy使用

python学习之numpy使用

作者头像
py3study
发布2020-01-07 14:34:56
8400
发布2020-01-07 14:34:56
举报
文章被收录于专栏:python3python3python3

#NumPy数据库学习 #Numpy包含一下特点: ''' 1.强大的N维数组对象。 2.成熟的函数库。 3.用于集成c/c++和Fortran代码工具 4.实用的线性代数,傅里叶变换和随机生成函数。 ''' import numpy as np #4.1:属性

array = np.array([[1,2,3],[4,5,6]])#将列表转换为矩阵,并转换为int类型

print(array)

print('array of dim is',array.ndim)#矩阵的维度

print('array of shape is',array.shape)#矩阵的行数和列数

print('array of size is',array.size)#矩阵元素个数

#4.2 :numpy:numpy创建Array

1,array:创建数组

2,dtype:指定数据类型

3,zeros:创建数据全为零

4,ones:创建数据全为一

5,empty:创建数据接近零

6,arange:指定范围内创建数据

7,linspace:创建线段

#创建数组

a = np.array([1,2,3])

print(a)

#指定数据dtype

a = np.array([1,2,3],dtype=np.int)#指定为int形

print(a.dtype)

b = np.array([1,2,3,4],dtype=np.float)#指定为浮点型

print(b.dtype)

#创建特定数据

a = np.array([[1,2,3],[4,5,6]])#创建特定数据

print(a)

#创建全0数组

a = np.zeros((2,3))#全0两行三列

print(a)

#创建全1数组,指定特定类型int

a = np.ones((2,3),dtype=np.int)

print(a)

#创建全空数组 每个数值接近0

a = np.empty([2,3])

print(a)

#array创建连续数组

a = np.arange(1,10,3)#1到10,步长为3

print(a)

#reshape改变数据形状

a = np.arange(6).reshape(2,3)

print(a)

#用linespace创建线段型数据

a = np.linspace(1,10,20)#1开始,10结束,创建10个数据

print(a)

#4.3 NumPy基础运算 #基础运算只加减乘除

a = np.array([10,20,30,40])

b = np.arange(4)

print(b)

c = a+b#加法运算

print(c)

d = a-b

print(d)#减法运算

e = 10*np.sin(a)#三角函数运算

print(e)

print(b<3)#逻辑判断

f = np.random.random([2,3])#随机生成两行三列的举证

print(f)

g = np.sum(b)#函数求和

print(g)

h = np.max(b)#求元素最大值最小值

i = np.min(b)

print(h)

print(i)

#多维数矩阵运算

a = np.array([[1,2],[3,4]])

print(a)

b = np.arange(4).reshape(2,2)

print(b)

c = a.dot(b)#c = dot(a,b) 矩阵相乘相乘计算

print(c)

#对行或列进行查找运算

a = np.array([[1,2],[3,4]])

print(np.max(a,axis=0))#按行求和最大值

print(np.max(a,axis=1))#按列求和最大值

print(np.min(a,axis=0))

print(np.min(a,axis=1))

#矩阵索引操作

a = np.arange(2,14).reshape(3,4)

print(a)

print(np.argmax(a))#矩阵中最大元素的索引

print(np.argmin(a))#矩阵中最小元素的索引

print(np.mean(a))#求解矩阵均值

print(np.average(a))

print(np.cumsum(a))#矩阵累加函数

print(np.diff(a))#矩阵累差函数

print(np.nonzero(a))#将非0元素的行与列坐标分割开来

#矩阵的排序转置替换

a = np.arange(14,2,-1).reshape(3,4)

print(a)

print(np.sort(a))#排序

print(np.transpose(a))#转置

print(np.clip(a,5,9))#判断当前矩阵元素是否比最小值小或比最大值大,若是则替换

#一维索引

a = np.arange(0,12)

print(a)

print(a[1])

b = np.arange(0,12).reshape(3,4)

print(b)

print(b[1])#第二行

#二维索引

a = np.arange(0,12).reshape(3,4)

print(a)

print(a[1,1])

print(a[1,1:3])#切片处理

for row in a:

print(row)

for col in a:

print(col)

for item in a.flat:

print(item)

#array置array合并

a = np.array([1,1,1])

b = np.array([2,2,2])

print(np.vstack((a,b)))#上下合并

print(np.hstack((a,b)))#左右合并

#增加维度

a = np.array([1,1,1])

print(a.shape)

print(a[np.newaxis,:])

print(a[np.newaxis].shape)#newaxis增加维度

print(a[:,np.newaxis])

print(a[:,np.newaxis].shape)

#多矩阵合并

a = np.array([1,1,1])[:,np.newaxis]

b = np.array([2,2,2])[:,np.newaxis]

print(np.concatenate((a,b,b,a),axis=0))#表示上下合并

print(np.concatenate((a,b,b,a),axis=1))

#矩阵分割

a = np.arange(0,12).reshape(3,4)

print(a)

print(np.split(a,3,axis=0))#横向分割三部分np.vsplit(a,3)

print(np.split(a,2,axis=1))#竖向分割三部分

print(np.array_split(a,3,axis=1))#不等量分割三部分

#copy 与 deep copy

= 具有关联性

a = np.arange(4)

b = a

c = a

d = b

print(b is a)

d[0] = 5

print(a)

#copy赋值方法没有关联性

a = np.arange(4)#deep copy

print(a)

b = a.copy()

print(b)

print(a)

b[0] = 5

print(b)

print(a)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • array = np.array([[1,2,3],[4,5,6]])#将列表转换为矩阵,并转换为int类型
  • print(array)
  • print('array of dim is',array.ndim)#矩阵的维度
  • print('array of shape is',array.shape)#矩阵的行数和列数
  • print('array of size is',array.size)#矩阵元素个数
  • 1,array:创建数组
  • 2,dtype:指定数据类型
  • 3,zeros:创建数据全为零
  • 4,ones:创建数据全为一
  • 5,empty:创建数据接近零
  • 6,arange:指定范围内创建数据
  • 7,linspace:创建线段
  • a = np.array([1,2,3])
  • print(a)
  • a = np.array([1,2,3],dtype=np.int)#指定为int形
  • print(a.dtype)
  • b = np.array([1,2,3,4],dtype=np.float)#指定为浮点型
  • print(b.dtype)
  • a = np.array([[1,2,3],[4,5,6]])#创建特定数据
  • print(a)
  • a = np.zeros((2,3))#全0两行三列
  • print(a)
  • a = np.ones((2,3),dtype=np.int)
  • print(a)
  • a = np.empty([2,3])
  • print(a)
  • a = np.arange(1,10,3)#1到10,步长为3
  • print(a)
  • a = np.arange(6).reshape(2,3)
  • print(a)
  • a = np.linspace(1,10,20)#1开始,10结束,创建10个数据
  • print(a)
  • a = np.array([10,20,30,40])
  • b = np.arange(4)
  • print(b)
  • c = a+b#加法运算
  • print(c)
  • d = a-b
  • print(d)#减法运算
  • e = 10*np.sin(a)#三角函数运算
  • print(e)
  • print(b<3)#逻辑判断
  • f = np.random.random([2,3])#随机生成两行三列的举证
  • print(f)
  • g = np.sum(b)#函数求和
  • print(g)
  • h = np.max(b)#求元素最大值最小值
  • i = np.min(b)
  • print(h)
  • print(i)
  • a = np.array([[1,2],[3,4]])
  • print(a)
  • b = np.arange(4).reshape(2,2)
  • print(b)
  • c = a.dot(b)#c = dot(a,b) 矩阵相乘相乘计算
  • print(c)
  • a = np.array([[1,2],[3,4]])
  • print(np.max(a,axis=0))#按行求和最大值
  • print(np.max(a,axis=1))#按列求和最大值
  • print(np.min(a,axis=0))
  • print(np.min(a,axis=1))
  • a = np.arange(2,14).reshape(3,4)
  • print(a)
  • print(np.argmax(a))#矩阵中最大元素的索引
  • print(np.argmin(a))#矩阵中最小元素的索引
  • print(np.mean(a))#求解矩阵均值
  • print(np.average(a))
  • print(np.cumsum(a))#矩阵累加函数
  • print(np.diff(a))#矩阵累差函数
  • print(np.nonzero(a))#将非0元素的行与列坐标分割开来
  • a = np.arange(14,2,-1).reshape(3,4)
  • print(a)
  • print(np.sort(a))#排序
  • print(np.transpose(a))#转置
  • print(np.clip(a,5,9))#判断当前矩阵元素是否比最小值小或比最大值大,若是则替换
  • a = np.arange(0,12)
  • print(a)
  • print(a[1])
  • b = np.arange(0,12).reshape(3,4)
  • print(b)
  • print(b[1])#第二行
  • a = np.arange(0,12).reshape(3,4)
  • print(a)
  • print(a[1,1])
  • print(a[1,1:3])#切片处理
  • for row in a:
  • print(row)
  • for col in a:
  • print(col)
  • for item in a.flat:
  • print(item)
  • a = np.array([1,1,1])
  • b = np.array([2,2,2])
  • print(np.vstack((a,b)))#上下合并
  • print(np.hstack((a,b)))#左右合并
  • a = np.array([1,1,1])
  • print(a.shape)
  • print(a[np.newaxis,:])
  • print(a[np.newaxis].shape)#newaxis增加维度
  • print(a[:,np.newaxis])
  • print(a[:,np.newaxis].shape)
  • a = np.array([1,1,1])[:,np.newaxis]
  • b = np.array([2,2,2])[:,np.newaxis]
  • print(np.concatenate((a,b,b,a),axis=0))#表示上下合并
  • print(np.concatenate((a,b,b,a),axis=1))
  • a = np.arange(0,12).reshape(3,4)
  • print(a)
  • print(np.split(a,3,axis=0))#横向分割三部分np.vsplit(a,3)
  • print(np.split(a,2,axis=1))#竖向分割三部分
  • print(np.array_split(a,3,axis=1))#不等量分割三部分
  • = 具有关联性
  • a = np.arange(4)
  • b = a
  • c = a
  • d = b
  • print(b is a)
  • d[0] = 5
  • print(a)
  • a = np.arange(4)#deep copy
  • print(a)
  • b = a.copy()
  • print(b)
  • print(a)
  • b[0] = 5
  • print(b)
  • print(a)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档