numpy建立陣列方式
# coding = utf-
8import random
import numpy as np
# array方式傳入資料
t1 = np.
array
(range(0
,12))
print
(t1)
print
(t1.dtype)
print
(type
(t1)
)# np.arange方式
t2 = np.
arange(0
,12)print
(t2)
print
(t2.dtype)
print
(type
(t2)
)# 改變np的dtpye
t3 = t2.
astype
("float"
)print
(t3.dtype)
# 取小數字數
t4 = np.
array
([random.
random()
for i in
range(10
)])print
(t4)
print
(t4.
round(3
))
numpy讀取本地檔案
# numpy 讀取本地檔案
# 檔案路徑、讀取型別、分隔符、跳過開頭多少行,,unpack預設為false,為true為轉置矩陣
file = np.
loadtxt
("e:"
,dtype=
"int64"
,delimiter=
",",skiprows=
1,usecols=none,unpack=false)
numpy的轉置
t1 = np.
arange(0
,12).
reshape(3
,4)print
(t1.t)
print
(t1.
transpose()
)print
(t1.
swapaxes(1
,0))
numpy取行取列取值
# 取行
print
(file1[1]
)print
(file1[1,
:])print
(file1[0:
])print
(file1[0:
,:])
print
(file1[1:
])print
(file1[1:
,:])
print
(file1[[1
,2]]
)print
(file1[[1
,2],
:])# 取列
print
(file1[:,
1])print
(file1[:,
1:])
print
(file1[:,
[0,2
]])# 取值
print
(file1[3,
4])print
(file1[4,
5])
numpy修改值
直接賦值即可
numpy拼接
t1 = np.
arange(0
,12).
reshape(2
,6)print
(t1)
print
("-----------------"
)t2 = np.
arange(5
,17).
reshape(2
,6)print
(t2)
print
("-----------------"
)# 徑直拼接
print
(np.
vstack
((t1,t2)))
print
("-----------------"
)# 水平拼接
print
(np.
hstack
((t1,t2)
))
numpy交換行列
t1 = np.
arange(0
,12).
reshape(3
,4)print
(t1)
print
("--------"
)# 交換行,第一行和第二行交換
t1[[1,
2],:
]=t1[[2
,1],
:]# 交換列,第一列和第二列交換
t1[:,[
1,2]
]=t1[:,
[2,1
]]print
(t1)
建立全0 或者全1或者對角矩陣
zeros = np.
zeros((
3,4)
)print
(zeros)
ones = np.
ones((
3,3)
)print
(ones)
eye = np.
eye(3)
print
(eye)
ran = np.random.
randint(10
,20,(
3,4)
,dtype=int)
print
(ran)
a=b完全不複製,a和b互相影響
a=b[:]檢視操作,會建立新的物件a,但是a的資料完全由b保管,他們兩個的資料變化是一致的
a=b.copy()完全賦值, a和b互不影響
nan表示不是乙個數字
inf表示正無窮
-inf 表示負無窮
np.nan == np.nan 為false
nan判斷
ones = np.
ones((
3,3)
)ones[2,
2]=np.nan
print
(ones)
nonzero = np.
count_nonzero
(ones!=ones)
print
(nonzero)
isnan = np.
isnan
(ones)
print
(isnan)
nan和任何值相計算都是nan
np.sum中若有nan很多時候並不是簡單將其替換為0,而是替換成均值或者中值
t.mean(axis=0)某一行的均值
np.median(t)中值
機器學習入門 numpy學習
numpy的基本使用 ndarray支援並行化運算 向量化運算 numpy內建了並行運算功能,當系統有多個核心時,做某種計算時,numpy會自動做平行計算 效率遠高於純python numpy底層使用c語言編寫,內部解除了gil 全域性直譯器鎖 其對陣列的操作速度不受python直譯器的限制,所以,...
《Python之機器學習(NumPy)》
單行注釋 多行注釋 多行注釋 多行注釋 a.ndim 輸出陣列的維數 a.shape 輸出陣列的形式 幾行,幾列 copy 複製陣列 a 2 陣列中每個元素乘以2 1,2 2 陣列將變成4個 a 2 a的平方 1,2 2 unsuported operand type 陣列訪問。修建異常值。處理不存...
機器學習入門三劍客之numpy
import numpy as np 建立簡單的列表 a 1,2,3,4 將列表轉換為陣列 b np.array b b.sizeb.shapeb.ndimb.dtypearray one np.ones 10,10 array zero np.zeros 10,10 正態分佈 給定均值 標準差 維...