numpy学习小结(2)

		数组的基本运算
>>>arr1 = ones(3,dtype=int32)
>>>arr2 = linspace(0,pi,3)#在0—pi之间寻找等分的3个点
>>>arr2
array([ 0.        ,  1.57079633,  3.14159265])
>>>arr = arr1 + arr2#加法
>>>arr
array([ 1.        ,  2.57079633,  4.14159265])
>>>arr.dtype.name
'float64'
>>>arr1 = array([10,20,30])
>>>arr2 = arange(4)
>>>arr = arr1 – arr2#减法
>>>arr
array([10, 19, 28])
>>>arr2**2#平方
array([0, 1, 4])
>>>10 * sin(arr1)#三角函数
array([-5.44021111,  9.12945251, -9.88031624])
>>>arr1 < 20#逻辑运算
array([ True, False, False], dtype=bool)
>>>arr1 = array([[1,1],[1,1]])
>>>arr2 = array([[1,2],[3,4]])
>>>arr = arr1 * arr2#这种写法按元素逐个计算
>>>arr
array([[1, 2],
       [3, 4]])
>>>dot(arr1,arr2)#矩阵相乘
array([[4, 6],
       [4, 6]])
>>>arr = exp(arr*1j)#幂
>>>arr
>>>arr.dtype.name
array([[ 0.54030231+0.84147098j, -0.41614684+0.90929743j],
       [-0.98999250+0.14112001j, -0.65364362-0.7568025j ]])
	特殊运算符
>>>arr1 = ones((2,3),dtype=int)
>>>arr1
array([[1, 1, 1],
       [1, 1, 1]])
>>>arr2 = random.random((2,3))
>>>arr2
array([[ 0.24768132,  0.11499935,  0.45428546],
       [ 0.42062837,  0.78951303,  0.67671437]])
>>>arr2 += arr1
>>>arr2
array([[ 1.24768132,  1.11499935,  1.45428546],
       [ 1.42062837,  1.78951303,  1.67671437]])
>>>arr1 *= 2
>>>arr1
array([[2, 2, 2],
       [2, 2, 2]])
	最大值、最小值与求和
>>>arr = random.random((2,3))
>>>arr
array([[ 0.36985538,  0.42359558,  0.50613116],
       [ 0.50200806,  0.43158128,  0.5307722 ]])
>>>arr.max()
0.53077220212788534
>>>arr.min()
0.36985537765875143
>>>arr.sum()#求和
2.763943665153096

	行和列操作
>>>arr = arange(12).reshape(3,4)
>>>arr
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
>>>arr.sum(axis=1)#求每一行的和
array([ 6, 22, 38])
>>>arr.sum(axis=0)#求每一列的和
array([12, 15, 18, 21])
>>>arr.max(axis=0)#求每一列的最大值
array([ 8,  9, 10, 11])
>>>arr.max(axis=1)#求每一行的最大值
array([ 3,  7, 11])
>>>arr.min(axis=0)#求每一列的最小值
array([0, 1, 2, 3])
>>>arr.min(axis=1)#求每一行的最小值
array([0, 4, 8])
>>>arr.cumsum(axis=1)#每一行的累积和
array([[ 0,  1,  3,  6],
       [ 4,  9, 15, 22],
       [ 8, 17, 27, 38]])
>>>arr.cumsum(axis=0)#每一列的累积和
array([[ 0,  1,  2,  3],
       [ 4,  6,  8, 10],
       [12, 15, 18, 21]])
	索引与切片
>>>arr = arange(20)
>>>arr
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
       17, 18, 19])
>>>arr[6:8]#输出下标是6,7,8的元素的值
array([6, 7])
>>>arr[:10:3] = 100000#相当于arr[0:10:3],从下标0开始每各3个元素把值改成100000
array([100000,      1,      2, 100000,      4,      5, 100000,      7,
            8, 100000,     10,     11,     12,     13,     14,     15,
           16,     17,     18,     19])
>>>arr[::-1]#arr反转
array([    19,     18,     17,     16,     15,     14,     13,     12,
           11,     10, 100000,      8,      7, 100000,      5,      4,
       100000,      2,      1, 100000])
	数组的形状shape与修改数组的形状reshape
>>>arr = arange(12).reshape(3,4)
>>>arr
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
>>>arr.shape
(3, 4)
>>>arr.ravel()#把数组平坦化
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11])
>>>arr.shape = (2,6)
>>>arr
array([[ 0,  1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10, 11]])
>>>arr.transpose()#求转置
array([[ 0,  6],
       [ 1,  7],
       [ 2,  8],
       [ 3,  9],
       [ 4, 10],
       [ 5, 11]])
>>>arr.resize((6,2))
array([[ 0,  6],
       [ 1,  7],
       [ 2,  8],
       [ 3,  9],
       [ 4, 10],
       [ 5, 11]])


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值