python中numpy庫
阿新 • • 發佈:2018-12-11
numpy是科學計算包(Numeric Python)
關於numpy的命令可以使用help檢視,如help(numpy.array)
1.numpy中資料要為相同的資料型別,否則會強制轉換
>>> from numpy import *
>>> a = array([1,2,3.0])
>>> print(a)
[1. 2. 3.] #這裡的結果就是轉換成相同的型別浮點型
>>> from numpy import * >>> b = array([1,2,'i']) >>> print(b) ['1' '2' 'i'] #轉化成了string型別
2.numpy資料中資料型別的轉換numpy.astype()
>>> from numpy import *
>>> vector = array(["1","2"])
>>> vectorF = vector.astype(float)
>>> print(vectorF)
[1. 2.]
3.numpy讀資料numpy.genfromtxt()讀取檔案並轉化成矩陣 函式的原始形式:
numpy.genfromtxt(fname, dtype=<type 'float'>, comments='#', delimiter=None, skip_header=0, skip_footer=0, converters=None, missing_values=None, filling_values=None, usecols=None, names=None, excludelist=None, deletechars=None, replace_space='_', autostrip=False, case_sensitive=True, defaultfmt='f%i', unpack=None, usemask=False, loose=True, invalid_raise=True, max_rows=None)[source]
fname:檔名(注意檔案的路徑) delimiter:str,int,or sequence,optional.他是分割值,即表示你的陣列用什麼來分割 dtype:分割後陣列的資料型別,預設是根據每行資料資料型別(獨立地) names:列的名稱(可重寫),dtype的資料型別對應著每一列的資料型別
from numpy import * f = genfromtxt(fname=r'E:\\奮鬥歷程\\Machine_Learning\\MLiA_SourceCode\\' r'machinelearninginaction\\Ch02\\datingTestSet.txt', delimiter='\t',names=['a','b','c','d'],dtype=['i8','f8','f8','U12']) print(f[0]) #f的形式是[()()()...],f[0]結果是(40920, 8.326976, 0.953952, 'largeDoses')
4.numpy可以通過布林值對陣列進行索引
from numpy import *
vector = array([[1,2,3,4],[0,9,7,9]])
b = vector != 1
print(b)
print(vector[b])
"""
結果是:
[[False True True True]
[ True True True True]]
[2 3 4 0 9 7 9]
"""
這個性質適合給某個元素進行賦值
from numpy import *
vector = array([[1,2,3,4],[0,9,7,9]])
b = vector == 1
print(b)
print(vector[b])
vector[b] = 6
print(vector)
結果是: ☆持續更新