numpy 是一个 Python 包。 它代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库
import numpy as np#定义一个一维数组
a1=np.array([ 1 , 42 , 3 , 4 , 5 , 6 ])
print ( "结果:" ,a1)
#定义一个二维数组
a2=np.array([
[ 1 , 2 , 3 ],
[ "a" , "b" , "c" ],
[ "1a" , "b" , "cc" ]
])
print ( "结果:" ,a2)
print ( "结果:" ,a2[ 0 ][ 0 ],a2[ 1 ][ 0 ])
#把一个维数组转换为二维
b1=a1.reshape( 1 ,- 1 )
print ( "结果:" ,b1)
b2=a1.reshape( 3 , 2 )
print ( "结果:" ,b2)
#读取数据
data=np.genfromtxt( "D:\world_alcohol.txt" , delimiter = "," , dtype = str )
print ( "结果:" ,data)
#查看数据维度
print ( "数组a1:" ,a1.shape)
#查看数据l里面数据类型
print ( "数组数据类型:" ,a1.dtype)
#取某列
print (a2[ 0 : 2 , 0 : 2 ])
#判断条件 只适合一维
resa2=a1== 42
print (resa2)
print (a1[resa2])
#取出a2数组第3列等于cc的行
print ( "========================" )
reta2=a2[:, 2 ]== 'cc'
print (reta2)
print (a2[reta2,:])
#类型转换
cc=np.array([ "1" , "3" , "4" , "6" ])
print (cc)
ccd=cc.astype( int )
print (ccd)
#按照行和列计算
matrix=np.array([
[ 1 , 2 , 3 , 4 ],
[ 5 , 6 , 7 , 8 ],
[ 9 , 10 , 11 , 12 ],
])
print (matrix.sum( axis = 1 )) #按行
print (matrix.sum( axis = 0 )) #按列
print (matrix.ndim) #数组维度
print (matrix.size) #数组大小
print ( len (matrix)) #数组长度
#初始化为0的数据
zero=np.zeros(( 2 , 3 ))
print (zero)
#初始化为1的数据
zero=np.ones(( 3 , 5 , 2 ))
print (zero)
#构造从10开始100结束的数据
data=np.arange( 10 , 100 , 3 , dtype = int )
print (data)
#构造10个随机数
radomdata1=np.random.random( 10 )
print (radomdata1)
#构造一个二维随机数组
radomdata2=np.random.random(( 2 , 3 ))
print (radomdata2)
#构造从0到8间等间隔取20个数
linespace=np.linspace( 0 , 8 , 20 )
print ( "linespace" ,linespace)
linespace2=np.arange( 0 , 8 , 2 )
print ( "linespace2" ,linespace2)
A=np.array([
[ 1 , 1 ],
[ 0 , 1 ]])
B=np.array([
[ 2 , 0 ],
[ 3 , 4 ]])
print (A*B) #内乘
print (A.dot(B)) #矩阵乘法
#把2维数组转换为一维
print (matrix.ravel())
#数据行拼接
print (np.hstack((A,B)))
#数据列拼接
print (np.vstack((A,B)))
切分
print ( "切分==============================" )
data=np.random.random(( 2 , 12 ))
print (data)
print ( "按行切分==============================" )
split1=np.hsplit(data, 3 )
print (split1)
data=np.random.random(( 6 , 4 ))
# print("按列切分==============================",data)
# split2=np.vsplit(data,2)
# print(split2)
print ( "指定位置切分==============================" ,data)
split3=np.vsplit(data,( 2 , 3 ))
print (split3)