日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python学习:numpy的使用技巧和注意

發布時間:2024/9/15 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python学习:numpy的使用技巧和注意 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在實際操作中,我們需要需要養成習慣,任何浪費空間或者時間的操作都需要減少,因為我們操作的是大數據,可能造成災難性的放大,使用numpy的思想,盡量減少不必要的拷貝,我們操作的對象是大數據。

# -*- coding: utf-8 -*-# numpy是針對list操作的import numpy as np# 定義一個一維3個的數組x = np.array([1,2,3]) print(x) #%% # 切片索引 x1 = np.array([[1,2,3],[4,5,6],[7,8,9]]) print(x1)print(x1[:,0])#%% # 建立0-1之間的隨機矩陣 x2 = np.random.random((3,3,3)) print(x2)#%% print(x2[:,:,0]) #%% # 特別需要注意切片使用 x2[:,:,0] =0 print(x2[:,:,0]) print(x2)#%% print(x1) # 對第一個axis取平均值 print(np.average(x1,axis=0)) # 對第一個axis取平均值 print(np.average(x1,axis=1))# 需要理解axis的含義,對應的是那個緯度的平均值,就是把對應的緯度壓縮成1#%% # 將數組向量化,使用numpy計算 import time x = np.random.random((1000,1000)) ans =np.zeros((1000,1000)) # 遍歷矩陣,枚舉矩陣每一行,再次枚舉每一行里面的每一個元素 t = time.time() for i,row in enumerate(x):for j,elem in enumerate(row):ans[i][j] = elem +1 print(time.time()-t)# 使用矩陣相加 t = time.time() ans = x+1 print(time.time()-t) # 使用np.add計算,比第二種方法要快40倍,第一種600倍,我的這臺計算機 t = time.time() np.add(x,1,ans) print(time.time()-t)#0.5762310028076172 #0.04102921485900879 #0.001998424530029297#%% # numpy的廣播,broadcastingx = np.array([1,2,3]) y = np.array([[1,1,1],[2,2,2],[3,3,3]])z = y-x print(z) print(end ='\n')# 直接使用broadcasting實現 x =y = np.array([1,2,3]) y = np.tile(y,[3,1]).T z = y-x print(z) print(end ='\n')# 間接使用,不能直接使用y.T,只有使用y[:,None] x =y = np.array([1,2,3]) t = y[:,None] print(t) z = t -x print(z) print(end ='\n')# 使用numpy的思想,盡量減少不必要的拷貝,我們操作的對象是大數據

總結

以上是生活随笔為你收集整理的Python学习:numpy的使用技巧和注意的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。