赞
踩
import numpy as np
vector = np.array([5, 10, 15, 20])
# 构造一个 ndarray
matrix = np.array([[5, 10, 15], [20, 25, 30], [35, 40, 45]])
matrix
array([[ 5, 10, 15],
[20, 25, 30],
[35, 40, 45]])
type(matrix)
numpy.ndarray
如果中间存在一个浮点数,则整个数据类型都会是浮点数
# 注意 ndarray 的值类型都是统一的
vector = np.array([1, 2, 3, 4.0])#整形或者浮点型,最终都会变成浮点数
vector
array([1., 2., 3., 4.])
vector.dtype#查看数据类型 变为浮点型
dtype('float64')
# 快速创建 ndarray
np.full([3,4],1)#指定值填充,3*4维度 填充值为1
array([[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1]])
np.full([3,4],True)
array([[ True, True, True, True],
[ True, True, True, True],
[ True, True, True, True]], dtype=bool)
np.zeros ((3,4))
array([[0., 0., 0., 0.],
[0., 0., 0., 0.],
[0., 0., 0., 0.]])
np.ones( (2,3,4))
array([[[ 1., 1., 1., 1.],
[ 1., 1., 1., 1.],
[ 1., 1., 1., 1.]],
[[ 1., 1., 1., 1.],
[ 1., 1., 1., 1.],
[ 1., 1., 1., 1.]]])
# 起始为10,5为步长,30为结尾取不到
#左闭右开
np.arange( 10, 30, 5 )
array([10, 15, 20, 25])
np.arange(12).reshape(4,3)#arrang一维,reshape转矩阵
array([[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 9, 10, 11]])
#随机矩阵: random.random 后面的 (2,3) 表示要得到一个2行3列的矩阵,默认会产生 -1 到 +1 的随机值。
np.random.random((2,3))
array([[ 0.67636127, 0.01593845, 0.46723946],
[ 0.74285453, 0.43974049, 0.91164205]])
from numpy import pi
np.linspace( 0, 2*pi, 100 )
array([0. , 0.06346652, 0.12693304, 0.19039955, 0.25386607,
0.31733259, 0.38079911, 0.44426563, 0.50773215, 0.57119866,
0.63466518, 0.6981317 , 0.76159822, 0.82506474, 0.88853126,
0.95199777, 1.01546429, 1.07893081, 1.14239733, 1.20586385,
1.26933037, 1.33279688, 1.3962634 , 1.45972992, 1.52319644,
1.58666296, 1.65012947, 1.71359599, 1.77706251, 1.84052903,
1.90399555, 1.96746207, 2.03092858, 2.0943951 , 2.15786162,
2.22132814, 2.28479466, 2.34826118, 2.41172769, 2.47519421,
2.53866073, 2.60212725, 2.66559377, 2.72906028, 2.7925268 ,
2.85599332, 2.91945984, 2.98292636, 3.04639288, 3.10985939,
3.17332591, 3.23679243, 3.30025895, 3.36372547, 3.42719199,
3.4906585 , 3.55412502, 3.61759154, 3.68105806, 3.74452458,
3.8079911 , 3.87145761, 3.93492413, 3.99839065, 4.06185717,
4.12532369, 4.1887902 , 4.25225672, 4.31572324, 4.37918976,
4.44265628, 4.5061228 , 4.56958931, 4.63305583, 4.69652235,
4.75998887, 4.82345539, 4.88692191, 4.95038842, 5.01385494,
5.07732146, 5.14078798, 5.2042545 , 5.26772102, 5.33118753,
5.39465405, 5.45812057, 5.52158709, 5.58505361, 5.64852012,
5.71198664, 5.77545316, 5.83891968, 5.9023862 , 5.96585272,
6.02931923, 6.09278575, 6.15625227, 6.21971879, 6.28318531])
np.sin(np.linspace( 0, 2*pi, 100 )) # 还可以进行一些操作
array([ 0.00000000e+00, 6.34239197e-02, 1.26592454e-01,
1.89251244e-01, 2.51147987e-01, 3.12033446e-01,
3.71662456e-01, 4.29794912e-01, 4.86196736e-01,
5.40640817e-01, 5.92907929e-01, 6.42787610e-01,
6.90079011e-01, 7.34591709e-01, 7.76146464e-01,
8.14575952e-01, 8.49725430e-01, 8.81453363e-01,
9.09631995e-01, 9.34147860e-01, 9.54902241e-01,
9.71811568e-01, 9.84807753e-01, 9.93838464e-01,
9.98867339e-01, 9.99874128e-01, 9.96854776e-01,
9.89821442e-01, 9.78802446e-01, 9.63842159e-01,
9.45000819e-01, 9.22354294e-01, 8.95993774e-01,
8.66025404e-01, 8.32569855e-01, 7.95761841e-01,
7.55749574e-01, 7.12694171e-01, 6.66769001e-01,
6.18158986e-01, 5.67059864e-01, 5.13677392e-01,
4.58226522e-01, 4.00930535e-01, 3.42020143e-01,
2.81732557e-01, 2.20310533e-01, 1.58001396e-01,
9.50560433e-02, 3.17279335e-02, -3.17279335e-02,
-9.50560433e-02, -1.58001396e-01, -2.20310533e-01,
-2.81732557e-01, -3.42020143e-01, -4.00930535e-01,
-4.58226522e-01, -5.13677392e-01, -5.67059864e-01,
-6.18158986e-01, -6.66769001e-01, -7.12694171e-01,
-7.55749574e-01, -7.95761841e-01, -8.32569855e-01,
-8.66025404e-01, -8.95993774e-01, -9.22354294e-01,
-9.45000819e-01, -9.63842159e-01, -9.78802446e-01,
-9.89821442e-01, -9.96854776e-01, -9.99874128e-01,
-9.98867339e-01, -9.93838464e-01, -9.84807753e-01,
-9.71811568e-01, -9.54902241e-01, -9.34147860e-01,
-9.09631995e-01, -8.81453363e-01, -8.49725430e-01,
-8.14575952e-01, -7.76146464e-01, -7.34591709e-01,
-6.90079011e-01, -6.42787610e-01, -5.92907929e-01,
-5.40640817e-01, -4.86196736e-01, -4.29794912e-01,
-3.71662456e-01, -3.12033446e-01, -2.51147987e-01,
-1.89251244e-01, -1.26592454e-01, -6.34239197e-02,
-2.44929360e-16])
data = np.array([
[5,10,15,12,34],
[20,25,30,23,678],
[35,40,45,56,435],
[23,56,23,234,212],
[67,34,234,575,6786]
])
data
array([[ 5, 10, 15, 12, 34],
[ 20, 25, 30, 23, 678],
[ 35, 40, 45, 56, 435],
[ 23, 56, 23, 234, 212],
[ 67, 34, 234, 575, 6786]])
# 获取数据:使用索引 第一行的第4列
data[1,4]
678
data[0:3]
array([[ 5, 10, 15, 12, 34],
[ 20, 25, 30, 23, 678],
[ 35, 40, 45, 56, 435]])
# 使用切片
data[0:3,[0,2]] #选取0-3行和0-1列
array([[ 5, 15],
[20, 30],
[35, 45]])
[0,2]中间不能是:
data
array([[ 5, 10, 15, 12, 34],
[ 20, 25, 30, 23, 678],
[ 35, 40, 45, 56, 435],
[ 23, 56, 23, 234, 212],
[ 67, 34, 234, 575, 6786]])
data[[0,3],[0,1]]
array([ 5, 56])
data[:,0:1] #选取所有的行,列取值范围0-1
array([[ 5],
[20],
[35],
[23],
[67]])
vector = np.array([5, 10, 15, 20 ,10])
vector
array([ 5, 10, 15, 20, 10])
# bool 索引
vector == 10
array([False, True, False, False, True])
equal_to_ten = (vector == 10)
equal_to_ten
array([False, True, False, False, True])
vector[equal_to_ten]
array([10, 10])
# 多个条件判断
res = (vector == 10) | (vector == 20)
res
array([False, True, False, True, True])
vector[res]
array([10, 20, 10])
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。