Python 學習及項目筆記

前言

近期在做的項目中有一些關於Python數據處理——Numpy的東西,以及一些Python的基本操作,在這裏進行一些分享和記錄吧,也記錄一些自己掉進去過的坑,也希望能幫到大家啦。

本文環境:
Windows10+Anaconda(tensorflow on CPU)+Jupyter Notebook+Python 3.7.2

正文

取整操作
a.和C++一樣的,對某個數值向下取整

import numpy as np #調用numpy庫,之後不再贅述
x = np.pi #調用Numpy裏面的pi數值
print(x)
print(int(x))
#3.141592653589793
#3

b.對某個數組的所有元素向下取整

import numpy as np
a=[1.2,2.2]
a=np.array(a)
a=np.floor(a)
print(a)
#[1. 2.]

數組創建
a.創建一個全都是True或False的bool型數組
b.創建一個給定數值的數組
c.深拷貝一個數組,這裏呢建議大家在調用函數內的參數數組的時候,像這樣深拷貝這樣做,不然有可能搞錯,變成淺拷貝,事情就會變得很麻煩。

A = np.full((N),False,dtype=bool)#a
AA = np.array([0,0,0,0,1])#b
R = np.array(R0)#c

d.創建一個全零數組

temp = np.zeros([1, N], dtype=np.float)
#dtype=:數據類型
#[1,N]:這個位置指定數組的shape

數組數據類型轉換
astype
int32 to float64 完全可以,不會出現精度損失(本來就是精度低轉高)
float64 to int32 高轉低的話,精度損失嘛(實質上和上面np.floor操作類似的)
string to float64 如果字符串數組內是數字,則可以轉化爲數值類型

A_bool = A_bool.astype(float)

Numpy數組的其它操作
a.縱向合併np.vstack(),注意:括號內要合併的數組必須用中括號括在一起。
b.返回數組的轉置np.transpose(),這個沒啥好說的。
c.矩陣乘法np.multiply(),這個也沒啥好說的

R0 = np.vstack([temp, tmp0])#a
R0 = np.transpose(R0)#b
dec_output = np.multiply(sigmoid_output, A_reg)#c

d.兩個數組的對應元素是否相等np.equal(),返回一個數組,對應True or False
e.求數組均值np.mean()。
來個組合拳,來看看它是什麼呢:

accuracy = np.mean(np.equal(dec, tx))
#先對dec和tx做對比,然後求均值
#這個就是看看dec和tx的吻合度,如果tx是機器學習中的label,dec是預測值的話,這樣可以求準確度

f.求數組最大值對應索引np.argmax()
g.求數組由小到大的排序後的索引np.argsort()

ymax = np.argmax(y_pred)
ma1 = np.argsort(out1)

今天先更到這裏吧~ March 20th,2020

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章