Python Numpy学习总结



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)
#构造从08间等间隔取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)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
numpy函数是一种用于处理数组的科学计算库,其中包含了许多常用的数学、统计和线性代数函数,以下是一些常见的numpy函数用法: 1. 创建数组 numpy中可以通过numpy.array()函数创建数组,函数接受一个可迭代对象作为参数,例如: ```python import numpy as np # 创建一维数组 a = np.array([1, 2, 3]) print(a) # 输出:[1 2 3] # 创建二维数组 b = np.array([[1, 2], [3, 4]]) print(b) # 输出:[[1 2] # [3 4]] ``` 2. 索引和切片 numpy中的数组索引和切片与Python中的列表相似,可以使用整数索引和切片语法。例如: ```python # 一维数组的索引和切片 a = np.array([1, 2, 3, 4, 5]) print(a[2]) # 输出:3 print(a[:3]) # 输出:[1 2 3] # 多维数组的索引和切片 b = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) print(b[1, 2]) # 输出:6 print(b[:2, 1:]) # 输出:[[2 3] # [5 6]] ``` 3. 数学函数 numpy中包含了许多常用的数学函数,例如: ```python # 平方函数 a = np.array([1, 2, 3]) print(np.square(a)) # 输出:[1 4 9] # 开方函数 b = np.array([1, 4, 9]) print(np.sqrt(b)) # 输出:[1. 2. 3.] # 取绝对值函数 c = np.array([-1, -2, 3]) print(np.absolute(c)) # 输出:[1 2 3] # 求和函数 d = np.array([1, 2, 3]) print(np.sum(d)) # 输出:6 # 求平均值函数 e = np.array([1, 2, 3]) print(np.mean(e)) # 输出:2.0 # 求标准差函数 f = np.array([1, 2, 3]) print(np.std(f)) # 输出:0.816496580927726 ``` 4. 线性代数函数 numpy中包含了许多常用的线性代数函数,例如: ```python # 点积函数 a = np.array([[1, 2], [3, 4]]) b = np.array([[5, 6], [7, 8]]) print(np.dot(a, b)) # 输出:[[19 22] # [43 50]] # 矩阵求逆函数 c = np.array([[1, 2], [3, 4]]) print(np.linalg.inv(c)) # 输出:[[-2. 1. ] # [ 1.5 -0.5]] # 特征值与特征向量函数 d = np.array([[1, 2], [2, 1]]) eig_values, eig_vectors = np.linalg.eig(d) print(eig_values) # 输出:[ 3. -1.] print(eig_vectors) # 输出:[[ 0.70710678 -0.70710678] # [ 0.70710678 0.70710678]] ``` 5. 随机数函数 numpy还包含了许多常用的随机数函数,例如: ```python # 随机整数函数 a = np.random.randint(1, 10, (3, 4)) print(a) # 输出:[[5 8 7 4] # [4 4 4 4] # [9 9 9 2]] # 随机浮点数函数 b = np.random.rand(2, 3) print(b) # 输出:[[0.81317738 0.24850358 0.98823489] # [0.35087941 0.98767991 0.17130925]] ``` 以上是numpy函数的一些常见用法,numpy函数的功能非常丰富,还有很多其他函数可以满足各种应用需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值