numpy

numpy,第1张

import numpy as np
A=np.arange(2,14).reshape((3,4))

print(A)
print(A[2])#此处表示索引行数,即第三行全部元素,若没有reshape,则表示单个元素
print(A[1,3])#直接表示矩阵中单个元素索引位置
print(A[1,:])#第二行的所有列
print(A[:,1])#每一行的第二列
for row in A:#循环输出行
    print(row)
for column in A.T:#循环输出列
    print(column)
print(A.flatten())#将矩阵变为一行列表元素
for i in A.flat:#一个元素一行循环输出
    print(i)
print(np.mean(A)) #整个矩阵的平均值
print(A.mean())
print(np.average(A))

#print(np.median(A))#矩阵的中位数
#print(np.cumsum(A))#逐步累加
#print(np.diff(A))#每两个元素之间的差值
#print(np.nonzero(A))#以行列两个数组输出每个元素的索引位置

结果:

[[ 2  3  4  5]
 [ 6  7  8  9]
 [10 11 12 13]]

[10 11 12 13]

9

[6 7 8 9]

[ 3  7 11]

[2 3 4 5]
[6 7 8 9]
[10 11 12 13]

[ 2  6 10]
[ 3  7 11]
[ 4  8 12]
[ 5  9 13]

[ 2  3  4  5  6  7  8  9 10 11 12 13]

2
3
4
5
6
7
8
9
10
11
12
13

7.5

7.5

7.5

示例:

B=np.arange(14,2,-1).reshape((3,4)) #倒序生成矩阵
print(B)
print(np.sort(B)) #每行进行从小到大的排序
print(np.transpose(B)) #矩阵转置,也可以写(A.T)
print(np.mean(B,axis=0)) #求矩阵中的列平均值,即对每行相加
print(np.clip(B,5,9))   #5为下界,9为上界,小于5的全部变为5,大于9的全部变为9

结果:

[[14 13 12 11]
 [10  9  8  7]
 [ 6  5  4  3]]

[[11 12 13 14]
 [ 7  8  9 10]
 [ 3  4  5  6]]

[[14 10  6]
 [13  9  5]
 [12  8  4]
 [11  7  3]]

[10.  9.  8.  7.]

[[9 9 9 9]
 [9 9 8 7]
 [6 5 5 5]]

示例:

import numpy as np

a=np.array([1,1,1])[:,np.newaxis]#可以直接加在后面变为纵向序列
b=np.array([2,2,2])[:,np.newaxis]#直接加[:,np.newaxis]
print(a.shape,b.shape)
print(a[:,np.newaxis])

c=np.vstack((a,b))#纵向合并序列
c1=np.hstack((a,b))#横向合并序列
print(c)
print(c1)
#b1=np.concatenate((a,b,b,a))#默认横向
b1=np.concatenate((a,b,b,a),axis=0)#纵向序列按列合并
print(b1)

结果:

(3, 1) (3, 1)

[[[1]]
 [[1]]
 [[1]]]

[[1]
 [1]
 [1]
 [2]
 [2]
 [2]]

[[1 2]
 [1 2]
 [1 2]]

[[1]
 [1]
 [1]
 [2]
 [2]
 [2]
 [2]
 [2]
 [2]
 [1]
 [1]
 [1]]

示例:

import numpy as np
A=np.arange(2,14).reshape((3,4))
a=np.split(A,2,axis=1)#纵向分两块
print(a)
print(np.vsplit(A,3))#横向分三块
print(np.hsplit(A,2))#纵向分两块

b=A
c=b
print(b)
A[1,1]=77
print(b)
print(c)#浅拷贝

b=A.copy()#深拷贝,A矩阵元素的变化不影响b
print(b)

A[1,1]=777
print(b)
print(c)#c会变化

结果:

[array([[ 2,  3],
       [ 6,  7],
       [10, 11]]), array([[ 4,  5],
       [ 8,  9],
       [12, 13]])]

[array([[2, 3, 4, 5]]), array([[6, 7, 8, 9]]), array([[10, 11, 12, 13]])]

[array([[ 2,  3],
       [ 6,  7],
       [10, 11]]), array([[ 4,  5],
       [ 8,  9],
       [12, 13]])]

[[ 2  3  4  5]
 [ 6  7  8  9]
 [10 11 12 13]]

[[ 2  3  4  5]
 [ 6 77  8  9]
 [10 11 12 13]]

[[ 2  3  4  5]
 [ 6 77  8  9]
 [10 11 12 13]]

[[ 2  3  4  5]
 [ 6 77  8  9]
 [10 11 12 13]]

[[ 2  3  4  5]
 [ 6 77  8  9]
 [10 11 12 13]]

[[  2   3   4   5]
 [  6 777   8   9]
 [ 10  11  12  13]]

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/916978.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-16
下一篇2022-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存