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.]])