Numpy day3方法集錦

2021-08-20 17:47:24 字數 2612 閱讀 4496

基本矩陣操作

nd = np.random

.randint(0, 10, size=(5, 4))

# 矩陣加上單個數值相當於每個基本元素都加上該值

nd + 3

# 矩陣上每個數值都加上10

np.add(nd, 10)

# 矩陣相加

np.add(nd, nd)

np.multiply(nd, 10)
np.dot(a, b)
廣播機制

兩條規則

1. 為缺失的維度補1

2. 假定缺失元素用已有值填充

nd1 = np.ones((2, 3))

nd1>>>array([[1., 1., 1.],

[1., 1., 1.]])

nd2 = np.arange((3))

nd2>>>array([0, 1, 2])

nd1 + nd2

>>>array([[1., 2., 3.],

[1., 2., 3.]])

方法一:

nd = np.

random.randint(0, 150, size=10)

fori in range(nd.

size):

forj in range(i, nd.

size):

if nd[i] > nd[j]:

nd[i], nd[j] = nd[j], nd[i]

nd

方法二:

def

sort_nd

(nd):

for i in range(nd.size):

# 不加上i索引會亂

min_index = nd[i:].argmin() + i

nd[i], nd[min_index] = nd[min_index], nd[i]

sort_nd(nd)

nd

快速排序

np.sort()與ndarray.sort()都可以,但有區別:

* np.sort()不改變輸入

* ndarray.sort()本地處理,不占用空間,但改變輸入

nd = np.random

.randint(0, 10, size=10)

np.sort(nd) # 不改變原陣列

nd.sort() # 改變原陣列

print(nd2)

部分排序
nd = np.random

.randint(0, 1000, size=100)

np.partition(nd, -5)[-5:] # 最大的五個數

np.partition(nd, 5)[:5] # 最小的五個數(未排序)

np.sort(np.partition(nd, 5)[:5])

需要從cv2庫

安裝cv2庫:pip install opencv-python

import numpy as np

import cv2

import matplotlib.pyplot as plt

匯入

sanpang = cv2.imread('./jinzhengen.png')

sanpang

plt.imshow(sanpang[:, :, :

:-1]) # 展示(rgb改變)

匯入要替換的臉

:-1])識別人臉區域, 需要演算法(已經自動提供)

face_det = cv2.cascadeclassifier('./data/haarcascade_frontalface_default.xml')
使用演算法自動尋找三胖的臉

# 得到乙個ndarray,是人臉的區域

face_zone = face_det.detectmultiscale(sanpang)

face_zone

裁切狗臉

dog_face = dog[40:180, 70:240]  # 根據裁切臉部區域

dog_face.shape

壓縮狗臉

dog_face2 = cv2.resize(dog_face), (61, 61))

plt.imshow(dog_face2)

進行迴圈

for x, y, w, h in face_zone:

sanpang[y:y+w, x:x+w] = dog_face2

檢視效果

plt.imshow(sanpang[:, :, :

:-1])

java筆記3 方法

方法是一段可以被重複呼叫的 塊 public static 返回值型別 方法名稱 引數列表 對於返回值型別有兩種 void 表示此方法沒有返回值 資料型別 基本型別和引用型別 public class demo1 public static void printinfo 方法名稱的命名要求 第乙個單...

c 3 方法引數

靜態方法 ref修飾傳遞的乙個變數 namespace static void geta ref int a 運算效果展示 通過上面就可以看出ref的作用 上面沒寫 不使用ref 時 的 大家自己寫就能夠對比出來 out namespace b的值是 geta a,out b b 感受到了吧 沒錯o...

as3 方法過載記

最近在研究puremvc框架,有幾個小細節,在此記錄一下 一 關於as3中方法過載。package com.accessport.test public function method 1 void public function method 2 void public function meth...