Python库-NumPy

NumPy是一个开源的Python科学计算库,用于快速处理任意维度的数组。

创建NumPy数组

#创建一维数组

list1 = [1,2,3,4]
array1= np.array(list1)#用python列表创建np数组
array1= np.array(range(10))#用python内置range函数创建np数组
array1= np.arange(0,10,2)#numpy方法 .arange创建np数组

#创建多维数组
list2 = [[1,2],[3,4]]
array2 = np.array(list2) 
array2 = np.arange(1,5).reshape(2,2)

 NumPy数组常用属性

print(array2.ndim)#查看数组维度 numpy数组的ndim属性
print(array2.shape)#查看数组形状
print(array2.size)#查看数组中数据个数

多维数组转化为一维数组

array1 = array2.flatten(order = 'C') #默认情况下‘C’以行为主展开 'F'以列为主展开

 NumPy数组转换为list列表tolist()方法

f = np.array([[1,2,3,4],[5,6,7,8]])
list_f = f.tolist() #np中tolist()方法将数组变为列表
print(list_f)

 NumPy数组的计算

#数组与数之间的计算,由于NumPy的广播机制,加减乘除的值计算到数组所有元素

#NumPy数组之间的计算,当数组维度相同时

t1 = np.arange(24).reshape((6,4))
t2 = np.arange(100,124).reshape((6,4))
print(t1 + t2)
print(t1 * t2)
output:
[[100 102 104 106]
 [108 110 112 114]
 [116 118 120 122]
 [124 126 128 130]
 [132 134 136 138]
 [140 142 144 146]]
[[   0  101  204  309]
 [ 416  525  636  749]
 [ 864  981 1100 1221]
 [1344 1469 1596 1725]
 [1856 1989 2124 2261]
 [2400 2541 2684 2829]]

  NumPy数组的索引及切片

#一维数组,类似list切片
a = np.arange(10)
print(a[0])
print(a[0:10])
print(a[0:6:2])
output:
0
[0 1 2 3 4 5 6 7 8 9]
[0 2 4]
 #多维数组
b = np.arange(24).reshape(4,6)
print(b[0])
print(b[0,:])
print(b[0:2,:])#取连续行
print(b[[0,2,3],:])#取不连续行

   NumPy数组的添加

a = np.array([[1,2,3],[4,5,6]])
#通过append方法添加 b = np.append(a,[[7,8,9]],axis = 0)#axis = 0,按行添加 c = np.append(a,[[4,5],[7,8]],axis =1)#axis = 1,按列添加
#通过insert方法插入 #np.insert 方法必要参数 (数组,索引,插入的数据) print(np.insert(a,1,[[0,0]],axis = 1)) print(np.insert(a,1,[[7,8,9]],axis = 0)) output: [[1 0 2 3] [4 0 5 6]] [[1 2 3] [7 8 9] [4 5 6]]

   NumPy数组常用计算方法

#获取所有数据的最大值

result = np.max(array)

#获取某个轴上的最大值

result = np.max(array,axis = 0)

#获取某个轴上的最小值

result = np.min(array,axis = 0)

#获取某个轴上的平均值

result = np.mean(array,axis = 0)

#获取某个轴上的标准差

result = np.std(array,axis = 0)

    NumPy数组的转置

array = array.transpose()#NumPy中 .transpose方法实现对数组的转置

array = array.T

 Tips:NumPy和Pandas要在实际案例中熟悉,不要强记。官方网站https://www.numpy.org.cn/user/

2020-04-01 17:20 For Leslie Never Forgotten

 

posted @ 2020-04-01 17:23  傅余生  阅读(195)  评论(0编辑  收藏  举报