常用函數(shù)
- mat( ): 將數(shù)組轉(zhuǎn)化為矩陣
- np.I 操作符: 實(shí)現(xiàn)了矩陣求逆的運(yùn)算
- np.log:是計(jì)算對(duì)數(shù)函數(shù)
- np.abss:是計(jì)算數(shù)據(jù)的絕對(duì)值
- np.max imum:計(jì)算元素 y 中的最大值,你也可以 np.max imum(v,0)
一凑队、數(shù)據(jù)類(lèi)型和形狀
- NumPy 中處理數(shù)字的最常見(jiàn)方式是通過(guò)
ndarray
對(duì)象束昵。它們與 Python 列表相似,但是可以有任意數(shù)量的維度。而且貌嫡,ndarray
支持快速的數(shù)學(xué)運(yùn)算秸讹,這正是我們想要的。
- 由于它可以存儲(chǔ)任意數(shù)量的維度棋蚌,你可以使用
ndarray
來(lái)表示我們之前提到的任意數(shù)據(jù)類(lèi)型:標(biāo)量嫁佳、向量、矩陣或張量谷暮。
#為了方便使用numpy 采用np簡(jiǎn)寫(xiě)
import numpy as np
1.numpy 的幾種屬性(維度蒿往、行數(shù)和列數(shù)、元素個(gè)數(shù))
array = np.array([[1,2,3],[2,3,4]]) #列表轉(zhuǎn)化為矩陣
print(array)
"""
array([[1, 2, 3],
[2, 3, 4]])
"""
print('number of dim:',array.ndim) # 維度
# number of dim: 2
print('shape :',array.shape) # 行數(shù)和列數(shù)
# shape : (2, 3)
print('size:',array.size) # 元素個(gè)數(shù)
# size: 6
2.創(chuàng)建 array
- array:創(chuàng)建數(shù)組
a = np.array([2,23,4]) # list 1d
print(a)
# [2 23 4]
- 指定數(shù)據(jù) dtype
- 當(dāng)你創(chuàng)建 NumPy 數(shù)組時(shí)湿弦,可以指定類(lèi)型 - 但是數(shù)組中的每一項(xiàng)必須具有相同的類(lèi)型瓤漏。
# py3.5后創(chuàng)建int默認(rèn)類(lèi)型為int32
a = np.array([2,23,4],dtype=np.int)
print(a.dtype)
# int64
a = np.array([2,23,4],dtype=np.int64)
print(a.dtype)
# 創(chuàng)建float默認(rèn)類(lèi)型為float64
a = np.array([2,23,4],dtype=np.float)
print(a.dtype)
# float32
a = np.array([2,23,4],dtype=np.float32)
print(a.dtype)
- 創(chuàng)建特定數(shù)據(jù)
a = np.array([[2,23,4],[2,32,4]]) # 2d 矩陣 2行3列
print(a)
"""
[[ 2 23 4]
[ 2 32 4]]
"""
a = np.zeros((3,4)) # 數(shù)據(jù)全為0,3行4列
"""
array([[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.]])
"""
- 創(chuàng)建全一數(shù)組, 同時(shí)也能指定這些特定數(shù)據(jù)的 dtype:
a = np.ones((3,4),dtype = np.int) # 數(shù)據(jù)為1,3行4列
"""
array([[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1]])
"""
- 創(chuàng)建全空數(shù)組, 其實(shí)每個(gè)值都是接近于零的數(shù):
a = np.empty((3,4)) # 數(shù)據(jù)為empty蔬充,3行4列
"""
array([[ 0.00000000e+000, 4.94065646e-324, 9.88131292e-324,
1.48219694e-323],
[ 1.97626258e-323, 2.47032823e-323, 2.96439388e-323,
3.45845952e-323],
[ 3.95252517e-323, 4.44659081e-323, 4.94065646e-323,
5.43472210e-323]])
"""
- 用 arange 創(chuàng)建連續(xù)數(shù)組:
a = np.arange(10,20,2) # 10-19 的數(shù)據(jù)蝶俱,2步長(zhǎng)
"""
array([10, 12, 14, 16, 18])
"""
- 使用 reshape 改變數(shù)據(jù)的形狀
a = np.arange(12).reshape((3,4)) # 3行4列,0到11
"""
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
"""
- 用 linspace 創(chuàng)建線(xiàn)段型數(shù)據(jù):
a = np.linspace(1,10,20) # 開(kāi)始端1饥漫,結(jié)束端10榨呆,且分割成20個(gè)數(shù)據(jù),生成線(xiàn)段
"""
array([ 1. , 1.47368421, 1.94736842, 2.42105263,
2.89473684, 3.36842105, 3.84210526, 4.31578947,
4.78947368, 5.26315789, 5.73684211, 6.21052632,
6.68421053, 7.15789474, 7.63157895, 8.10526316,
8.57894737, 9.05263158, 9.52631579, 10. ])
"""
a = np.linspace(1,10,20).reshape((5,4)) # 更改shape
"""
array([[ 1. , 1.47368421, 1.94736842, 2.42105263],
[ 2.89473684, 3.36842105, 3.84210526, 4.31578947],
[ 4.78947368, 5.26315789, 5.73684211, 6.21052632],
[ 6.68421053, 7.15789474, 7.63157895, 8.10526316],
[ 8.57894737, 9.05263158, 9.52631579, 10. ]])
"""