- 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kun1280437633/article/details/80353486
demo:
import numpy
vector1 = numpy.array([5,46,3,2]) #一维数组vector2 = numpy.array([5,8,3,],[23,12,8]) #矩阵
print (vector)
vector.dtype # dtype看一下类型
print (vector1.sharp) # sharp看一下他的维度,几行几列
print (vector2.sharp)
结果:
[5,46,3,2]dtype('int32')
(4,) # 4个元素
(2,3) # 二维,两行三列
注意:numpy里面都是同一类型的,如果里面有字符串,则输出的全是字符串
demo:
v = numpy.genfromtxt('xxx.txt',delimiter=',',dtype=str,skip_header=1)print v
# delimiter代表分隔符dtype什么类型的,skip_header=1去掉第一行,结果是矩阵
a=v[1,4] # 从0开始
b=v[2,2]
print a
print b
结果:
0.5
Cte D'Ivoire
demo:
vector = numpy.array([5,10,15,20])
print(vector[0:3]) # 切片和python一样
结果:
[5,10,15]
demo:
类型装换
# 按行操作axis=1,按列操作axis=0
矩阵属性
import numpy as np # as作为别名
print(np.arrange(15)) # arrange成为一个数组
a = np.arrange(15).reshape(3,5) #
a
a.shape # 什么形状
a.ndim # ndim几维的
a.dtype.name # dtype.name什么类型
a.size # 大小
结果:
[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]array([[0,1,2,3,4],
[5,6,7,8,9],
[10,11,12,13,14]])
(3,5)
2
'int32'
15
矩阵的操作
import numpy as np
np.zeros((3,4)) # 3行4列的0矩阵,元祖的形式,默认float类型
结果:
array([[ 0., 0., 0., 0.],[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.]])
np.ones((2,3,4),dtype=np.int32) # dtype指定类型
结果:
array([[[1, 1, 1, 1],[1, 1, 1, 1],
[1, 1, 1, 1]],
[[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1]]])
np.arange(0,2,0.3)
np.arange(10,30,5) # 第一个参数是开始位置,第二个参数是结束位置,第三个步长
结果:
array([10, 15, 20, 25])array([ 0. , 0.3, 0.6, 0.9, 1.2, 1.5, 1.8])
np.random.random((2,3))
结果:
array([[ 0.02812508, 0.33319675, 0.02425505],[ 0.87775428, 0.61590221, 0.78267645]])
from numpy import pi
np.linspace(0,pi,10) # 在0到π之间平均的找出10个数,第一个起始值,第二个默认值,第三个是个数
结果:
array([ 0. , 0.34906585, 0.6981317 , 1.04719755, 1.3962634 ,1.74532925, 2.0943951 , 2.44346095, 2.7925268 , 3.14159265])
a = np.array([10,20,30,40])
b = np.arange(4)
print (a)
print (b)
c = a - b
print (c)
c = c - 1
print (c)
b**2
print (b)
print (a<35)
结果:
[10 20 30 40][0 1 2 3]
[10 19 28 37]
[ 9 18 27 36]
[0 1 2 3]
[ True True True False]
a = np.array([[1,1],[0,1]])
b = np.array([[2,0],[3,4]])
print (a)
print (b)
print (a*b) # 內积
print (a.dot(b)) # 矩阵操作
print (np.dot(a,b))
结果:
[[1 1][0 1]]
[[2 0]
[3 4]]
[[2 0]
[0 4]]
[[5 4]
[3 4]]
[[5 4]
[3 4]]