NumPy庫總包含兩種基本的數據類型:矩陣和數組,矩陣的使用類似Matlab,本實例用得多的是數組array。
shape()
shape是numpy函數庫中的方法,用於查看矩陣或者數組的維素
>>>shape(array) 若矩陣有m行n列,則返回(m,n)
>>>array.shape[0] 返回矩陣的行數m,參數為1的話返回列數n
tile()
tile是numpy函數庫中的方法,用法如下:
>>>tile(A,(m,n)) 將數組A作為元素構造出m行n列的數組
sum()
sum()是numpy函數庫中的方法
>>>array.sum(axis=1)按行累加,axis=0為按列累加
argsort()
argsort()是numpy中的方法,得到矩陣中每個元素的排序序號
>>>A=array.argsort() A[0]表示排序后 排在第一個的那個數在原來數組中的下標
dict.get(key,x)
Python中字典的方法,get(key,x)從字典中獲取key對應的value,字典中沒有key的話返回0
sorted()
python中的方法
min()、max()
numpy中有min()、max()方法,用法如下
>>>array.min(0) 返回一個數組,數組中每個數都是它所在列的所有數的最小值
>>>array.min(1) 返回一個數組,數組中每個數都是它所在行的所有數的最小值
listdir('str')
python的operator中的方法
>>>strlist=listdir('str') 讀取目錄str下的所有文件名,返回一個字符串列表
split()
python中的方法,切片函數
>>>string.split('str')以字符str為分隔符切片,返回list
numpy中讀取.csbv文件
>>>(1)第一種方法使用loadtxt
# load the CSV file as a numpy matrix
dataset = np.loadtxt('./../DataAir/testdata.csv',delimiter=',')
# separate the data from the target attributes
X_test = dataset[:,0:6]
y_test = dataset[:,6]
>>>(2)第二種方法使用csv.read
csvfile = open('./../testData/testdata.csv')
reader1 = csv.reader(csvfile)
mTest = 0
vectorUnderTest = zeros((1,6)) #1*6
for lineT in reader1: #每一行對應一個測試數據
classNumStr = int(lineT[6])
for k in range(6):
lineT[k] = float(lineT[k]) #將.csv文件讀取出來的字符列表轉為float類型
vectorUnderTest[:,k] = lineT[k] #將樣本加入大數據集矩陣中
>>>(3)第三種方法使用readline,readlines,read
fh = open('c:\\autoexec.bat') for line in fh.readlines(): print line
.readline() 和 .readlines() 之間的差異是后者一次讀取整個文件,象 .read() 一樣。
.readlines() 自動將文件內容分析成一個行的列表,該列表可以由 Python 的 for ... in ... 結構進行處理。
另一方面,.readline() 每次只讀取一行,通常比 .readlines() 慢得多。僅當沒有足夠內存可以一次讀取整個文件時,才應該使用 .readline()。