Python_numpy矩阵操作

1.产生多维数组

import numpy as np

a = np.array([1, 2, 3, 4])  # 一维数组
print(a)
b = np.array([[1, 2, 3], [4, 5, 6]])  # 二维数组
print(b)

2.numpy数据类型设定与转换

np.array([1,2,3],dtype=np.string_)
Out[3]: array([b'1', b'2', b'3'], dtype='|S1')

a.astype(float)
Out[6]: array([1., 2., 3.])

3.numpy索引与切片

a=np.array([[1,2,3],[4,5,6]])
a
Out[8]: 
array([[1, 2, 3],
       [4, 5, 6]])
a[1][2]
Out[9]: 6
a[1,2]
Out[10]: 6
a=np.arange(10).reshape(2,5)
a
Out[13]: 
array([[0, 1, 2, 3, 4],
       [5, 6, 7, 8, 9]])
a[1]
Out[14]: array([5, 6, 7, 8, 9])
a[1,:]
Out[15]: array([5, 6, 7, 8, 9])
a[:,2]
Out[16]: array([2, 7])

4.布尔型索引

names = np.array(['Bob','joe','Bob','will'])
names
Out[18]: array(['Bob', 'joe', 'Bob', 'will'], dtype='<U4')
names=='Bob'
Out[19]: array([ True, False,  True, False])
names
Out[20]: array(['Bob', 'joe', 'Bob', 'will'], dtype='<U4')
names[names=='Bob']='John'
names
Out[22]: array(['John', 'joe', 'John', 'will'], dtype='<U4')

5.数组文件输入输出
二进制形式:

arr = np.arange(10)
np.save('some_array',arr)
np.load('some_array.npy')
Out[80]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

存取txt文件:

arr = np.loadtxt('dataMatrix.txt',delimiter=' ')
# np.savetxt

6.其他方法

np.linspace(1,10,20)
Out[23]: 
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.        ])
np.zeros((3,4))
Out[24]: 
array([[0., 0., 0., 0.],
       [0., 0., 0., 0.],
       [0., 0., 0., 0.]])
np.ones((2,2))
Out[25]: 
array([[1., 1.],
       [1., 1.]])
np.eye(3)
Out[27]: 
array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]])

7.获取数组的属性

a=np.array([[1,2,3],[4,5,6]])
a
Out[30]: 
array([[1, 2, 3],
       [4, 5, 6]])
a.ndim
Out[31]: 2
a.shape
Out[32]: (2, 3)
a.size
Out[33]: 6
a.dtype
Out[34]: dtype('int32')

8.求和

a
Out[41]: 
array([[1, 2, 3],
       [4, 5, 6]])
a.sum(axis=0)
Out[42]: array([5, 7, 9])
a.sum(axis=1)
Out[43]: array([ 6, 15])

9.合并数组

a
Out[48]: 
array([[1, 2, 3],
       [4, 5, 6]])
b
Out[49]: 
array([[0., 0., 0.],
       [0., 0., 0.]])
np.vstack((a,b))# 垂直方向
Out[50]: 
array([[1., 2., 3.],
       [4., 5., 6.],
       [0., 0., 0.],
       [0., 0., 0.]])
np.hstack((a,b))# 水平方向
Out[51]: 
array([[1., 2., 3., 0., 0., 0.],
       [4., 5., 6., 0., 0., 0.]])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值