import numpy as np print(help(np.genfromtxt))
In [4]:
np.array:初始化数组
arr=np.array([[1,1,2,4],[4,2,3,3],[4,3,4,5]])
arr2=np.array([1,1,2,4,5,6])
In [5]:
print(arr)
print(arr2)
In [6]:
arr.shape的行列数,若是一维,则只有元素个数
print(arr.shape)
print(arr2.shape)
In [7]:
注意:元素类型一致
# 数组的元素的类型一致
np.array([12,1,12,3.0])
Out[7]:
In [8]:
demo=np.array([12,1,12,3.0,8])
In [8]:
demo=np.array([12,1,12,3.0,8])
In [9]:
type():查看变量或者常量的类型 numpy.ndarray
print(type(demo))
In [10]:
获取数组里面的某个值
#二维数组的二行三列的值是5
print(arr[2,3])
In [11]:
数组的“取值”操作:
arr[]的括号里面看有无“:”,若有,则是切片取值(从第几行到第几行,第几列到第几列),
若没有,则是取某行某列的值
print(arr2[2:])
# 一维数组,隔列取值
print(arr2[0:5:2])
print(arr2[2:4])
# 取第二列
print(arr[:,1])
# 取第一二列
print(arr[:,0:2])
#取第一行
print(arr[1,])
# 取几行几列
print(arr[0:2,0:2])
In [12]:
操作:“==”,判断矩阵是否有此元素,每个元素都比较一次,返回bool值
# 对numpy进行值验证
# 其返回的bool值也是数组的索引
index=arr==4
print(arr==4)
print(type(arr==4))
In [13]:
通过arr[index]获取相等的值
# 表示有四个值相等
print(arr[index])
In [14]:
去某行的值进行计算
# 根据哪列得值找出是哪行值相等
ind=arr[:,2]==4
print(arr[:,2]==4)
print(arr[ind, :])
In [23]:
# |与$
# |会将两个结果的每一个bool值进行|计算,然后返回 true | false = true
# |与$
# |会将两个结果的每一个bool值进行|计算,然后返回 true | false = true
print(arr)
print((arr == 2)|(arr == 4 ))
In [24]:
# &会将两个结果的每一个bool值进行&计算,然后返回 true & false =false
# &会将两个结果的每一个bool值进行&计算,然后返回 true & false =false
print(arr)
print((arr == 2)&(arr == 4 ))
In [31]:
arr3.dtype获取元素类型
arr3=np.array(['1','2','3','4'])
print(arr3.dtype)
print(arr3)
# arr3.astype(float)将数组的元素类型转换,返回一个转换后的值
arr3=arr3.astype(float)
print(arr3.dtype)
print(arr3)
In [30]:
arr.min()最小值
arr.max()最大值
# 最小值
print(arr.min())
# 最大值
print(arr.max())
In [33]:
# 求和
# 当axis=1时,按行求和
# 求和
# 当axis=1时,按行求和
print(arr)
print(arr.sum(axis=1))
# 当axis=0时,按列求和
print(arr.sum(axis=0))
In [43]:
np.arange(int)函数,获取序列
reshape(3,4)重构数组
ndim获取数组的维度
size 获取数组元素的个数
#np.arange(int)函数
arr4=np.arange(15)
print(arr4)
# arr4.reshape(3,5)将arr4 重构返回一个新值
arr5=arr4.reshape(3,5)
print(arr5)
print(arr5.shape)
# 维度
print(arr5.ndim)
# 数值个数
print(arr5.size)
In [48]:
初始化数组,并且只都为 0
# 初始化一个新矩阵,需要被【】或者()包含
print(np.zeros([3,4]))
print(np.zeros((3,4)))
In [50]:
初始化数组,值为 1
# 初始化1 ,并指定类型
print(np.ones((4,5),dtype=np.int32))
In [51]:
初始化一个序列,从1开始,15结束,间隔是4
# 初始化一个序列,从1开始,15结束,间隔是4
print(np.arange(1,15,4))
In [54]:
随机矩阵值
随机一个两行三列的矩阵,范围在(0,1)
# 随机矩阵值
# 随即一个两行三列的矩阵,范围在(0,1)
print(np.random.random((2,3)))
In [58]:
np.linspace(0,2*pi,400,从0 开始,2*pi结束,平均的获取40个值
# 从0开始,2*pi结束,平均的获取40个值
from numpy import pi
print(np.linspace(0,2*pi,40))
# 重构矩阵
print(np.linspace(0,2*pi,40).reshape(5,8))
In [60]:
矩阵的计算
# 矩阵的计算
a=np.array([4,8,12,16])
b=np.arange(4)
print(a)
print(b)
# 对应位置相减
c=a-b
print(c)
# 每一个元素都减 1
print(a-1)
# 每一个值平方
print(b**2)
# 比较
print(a<10)
In [61]:
矩阵的乘法
对应位置相乘
# 矩阵的乘法
a=np.array([[1,2],
[3,4]])
b=np.array([[2,3],
[3,4]])
print(a)
print(b)
# * 对应位置相乘
print(a*b)
In [63]:
矩阵的. dot乘法 行与列相乘得到相应位置的值,例如:第一行的值乘以第一列得值得到对应位置的值
# 矩阵的. dot乘法 行与列相乘得到相应位置的值,例如:第一行的值乘以第一列得值得到对应位置的值
print(a)
print(b)
# 第一种
print(a. dot(b))
# 第二种
np.dot(a,b)
Out[63]:
In [66]:
开平方
print(a)
print(np.sqrt(a))
In [68]:
floor 向下取整
# floor向下取整
a=np.floor(10*np.random.random([3,4]))
print(a)
In [69]:
将矩阵拉成向量
# 将矩阵拉成向量
print(a.ravel())
In [75]:
重构矩阵
b
.
shape
=
(
4
,
3
)
b
.
reshape
(
4
,
3
) 效果一样
T 转置
# 重构矩阵
b=a.ravel()
b.shape=(4,3)
print(b)
print('============')
b=a.ravel()
print(b.reshape(4,3))
print('======')
# 转置
print(b.reshape(4,3).T)
In [84]:
q=np.floor(10*np.random.random((2,3)))
w=np.floor(10*np.random.random((3,2)))
print(q)
print(w)
In [90]:
np.hsplit(a,(2,5)) 表示水平从第2列和第5列的位置切
# 按行切分
a=np.floor(10*np.random.random((2,8)))
print(a)
print(np.hsplit(a,(2,5)))#表示水平从第2列的位置和5列的位置切
In [91]:
np.vsplit()水平切
# 按列切分
a=np.floor(10*np.random.random((6,3)))
print(a)
print(np.vsplit(a,(2,5)))#表示竖直从2行的位置和5行的位置切
In [97]:
求最大值
argmax(axis=0) axis=0 表示列最大值
data=np.sin(np.arange(20).reshape(4,5))
print(data)
# 求最大值,axis=1表示行最大,axis=0表示列最大
ind=data.argmax(axis=0)
print(data.argmax(axis=0))
print(data.shape)
print(data[ind,range(data.shape[1])])
In [98]:
矩阵的扩展
np.tile(a,(4,3))将a扩展成4行3列
# 矩阵的扩展
a=np.arange(0,40,10)
print(a)
b=np.tile(a,(4,3))
print(b)
In [113]:
排序
np.sort(a,axis=1)按行排序
a=np.array([[4,6,5],[3,5,4]])
print(a)
b=np.sort(a,axis=1)
print(b)
print(np.sort(a,axis=0))
print('====')
print(np.argsort(a))
index=np.argsort(a)
print(np.sort(a,axis=0))
print('====')
print(np.argsort(a))
index=np.argsort(a)