溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中numpy怎么用

發(fā)布時間:2021-11-26 09:48:44 來源:億速云 閱讀:140 作者:小新 欄目:大數(shù)據

這篇文章主要為大家展示了“Python中numpy怎么用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Python中numpy怎么用”這篇文章吧。

 1.numpy基礎操作

#!/usr/bin/env python
#coding:utf-8
import numpy as np
array = np.array([[1,2,3],[4,5,6]])
print(array)
print('維度:',array.ndim) #有幾行
print(array.shape) #(2, 3) 有幾行,幾列
print('size:',array.size)   #總數(shù)大小
a = np.array([2,3,4], dtype=np.int64) #定義類型 int64
print(a.dtype)
a = np.zeros((3,4)) #定義一個=個三行四列的矩陣,里面的只全部為0
a = np.ones((3,4)) #生成一個三行四列的矩陣,值為1
a = np.empty((3,4)) #生成一個三行四列的矩陣,值為0
a = np.arange(1,10,2) #生成一個從1-9 步長為2的矩陣
a = np.arange(10) #生成一個從0-9 的矩陣
a = np.arange(12).reshape(3,4) #生成一個3行4列的數(shù)列
a = np.linspace(1,10,6).reshape(2,3) #生成一個1-10之間2行3列的6段線段
a = np.array([10,20,30,40])
b = np.arange(4) #生成一個0-3之間四位數(shù)的矩陣,即0-3四個陣列成的矩陣
print(a,b) #列印兩個矩陣
print(a b) #矩陣相加
print(a-b) #矩陣相減
print(a*b) #矩陣相乘
print(a**b) #矩陣乘方

2. numpy矩陣運算

c = np.sin(a)*10 #對a中每個值取sin, 再乘10, con, tan都是這樣的
print(c)
print(b<3) #判斷b中每個數(shù)據是不是小于3, [ True  True  True False]
a = np.array([[1,2],[3,4]])
b = np.arange(4).reshape(2,2)
print(a,b)

print(a*b) #矩陣a和矩陣b中的每個值相乘, 相乘之后的數(shù)值組成的一個矩陣
print(np.dot(a,b)) #矩陣與矩陣相乘,第一個矩陣的列等于第二個矩陣的行
print(a.dot(b)) #跟上面的結果是一樣的
a = np.random.random((2,4)) #在0-1之間隨機生成一個2行4列的一個矩陣
print(a)
print(np.sum(a)) #矩陣里數(shù)值求和
print('###############################')
print(np.sum(a,axis=1)) #矩陣每行的求和
print(np.sum(a,axis=0)) #矩陣每列的求和
print(np.min(a)) #矩陣最小值
print(np.min(a,axis=1)) #矩陣每行最小值
print(np.min(a,axis=0)) #矩陣每列最小值
print(np.max(a)) #矩陣最大值
print(np.max(a,axis=1)) #矩陣每行最大值
print(np.max(a,axis=0)) #矩陣每列最大值

A = np.arange(1,13).reshape(3,4) #在1-13這12個數(shù)中,分成3行4列
print(A)
print(np.argmin(A)) #求矩陣中最小值的索引 0
print(np.argmax(A)) #求矩陣中最大值的索引 11
print(np.mean(A)) #求矩陣中平均值
print(A.mean()) #求矩陣中平均值
print(np.median(A)) #求矩陣中中位數(shù)
print(np.cumsum(A)) #矩陣中數(shù)值累加,第一個為第一個的值,第二個為前兩個值的和,第三個為前三個的和。。。
print(np.diff(A)) #矩陣中數(shù)組累差, 后面減前面一個的差
print(np.nonzero(A)) #找出矩陣中非0的數(shù), 結果輸出兩個array, 第一個為行,第二個為列
A = np.arange(13,1,-1).reshape(3,4)
print(A)
print(np.sort(A)) #逐行從小到大排序
print(np.transpose(A)) #矩陣行列變換
print(A.T) #矩陣行列變換,上面的簡寫
print((A.T).dot(A)) #行列變換之后的矩陣再和以前的矩陣相乘
print(np.clip(A,5,10)) #矩陣小于5的等于5, 大于10的等于10, 只保留中間部分
print(np.mean(A,axis=1)) #矩陣中對行計算平均值,axis=0是對列計算平均值

numpy矩陣索引切片

A = np.arange(1,13)
print(A)
print(A[3]) #根據矩陣索引獲取值,從0開始的
A = np.arange(1,13).reshape(3,4)
print(A)
print(A[2])    #列印出第二行數(shù)據(從0開始數(shù))
print(A[2][3]) #找出矩陣第2行第3列
print(A[2,3]) #找出矩陣第2行第3列
print(A[:,:]) #矩陣所有行所有列
print(A[:,1]) #矩陣第2列所有數(shù)
print(A[1,:]) #矩陣第2行所有數(shù)
print(A[1,2:]) #矩陣第一行第三個列及其以后的數(shù)
for row in A:
   print(row) #迭代每一行
for column in A.T: #想迭代列先行列變換,將列變行,再迭代
   print(column)
print(A.flatten()) #將三行四列的一個矩陣的值重新放到一個新的矩陣中
for item in A.flat: #A.flat返回一個可迭代類
   print(item)

 4.矩陣變換

A = np.array([1,1,1])
B = np.array([2,2,2])
C = np.vstack((A,B)) #將兩個序列上下合并成一個矩陣
# C = np.hstack((A,B)) #將兩個序列左右合并,變成一個序列
print(C)
print(A[np.newaxis,:]) #將A加一個維度,從一個序列變成由一行組成的矩陣
print(A[:,np.newaxis]) #將A加一個維度,從一個序列變成由一列組成的矩陣
A = A[np.newaxis,:] #將A, B 分別加一個維度
B = B[np.newaxis,:]
print('A,B:',A,B)
C = np.vstack((A,B)) #將兩個矩陣上下合并
C = np.hstack((A,B)) #將兩個矩陣左右合并,這里將A、B合并成一個序列
print(C)
C = np.concatenate((A,B,B,A),axis=0) #可以幾行多個矩陣合并,可以指定合并維度,axis=1指每個矩陣按行左右合并,0是每個矩陣按列上下合并
print(C)

A = np.arange(12).reshape((3,4))
print(A)
print(np.split(A,2,axis=1)) #將A進行分割,分成兩個array,按行等量分割,
print(np.array_split(A,3,axis=1)) #將A進行分割,按行分成三個array,可以進行不等量分割
print(np.vsplit(A,3)) #將A橫向平均分割成3快
print(np.hsplit(A,2)) #將A縱向平均分割成2快

a = np.arange(4)
print(a)
b = a
c = a
d = b
a[0] = 8
print(a)
print(d) #都是一樣的,一個改變了其他都變
print(b is a) #如果一樣就是True
d[1:3] = [11,22]
print(a) #也是一樣的,等于是改的同一快數(shù)組中的數(shù)據
#如果想a改變,其他賦值的不變則需要深拷貝
b = a.copy() #深拷貝,拷貝數(shù)組重新放到另外一塊記憶體中
print(a)
b[0] = 66
print(a,b) #b變了,a沒變

以上是“Python中numpy怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI