携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第17天,点击查看活动详情
也是暑假自学python的第27天
今天继续学习Numpy:
np数组中的数值修改
np数组中支持对其进行全部的修改,在列表list中则不具备这样的功能,举例如下:
直接对一行及以后直接修改数值为0
import numpy as np
a=np.arange(24).reshape(4,6)
print(a)
print('-'*25)
a[1:]=0
print(a)
输出的结果为:
将某一列全部修改为0:
a[:,1]=0
修改某一行的值:
a[1,:]=0
连续的多行:
a[1:]=0
连续的多列:
a[0:,1:]=0
以上四种写法各不相同,在复习的时候需要多多注意
np数组中的条件学习
将数组中全部小于10的数字全部修改为0:
a[a<10]=0
print(a)
输出的结果如下:
clip方法:
a=np.arange(24).reshape(4,6)
print(a)
a=a.clip(10,19)
print(a)
对于clip方法,确定了两个数字a与b,那么在执行之后,小于a的都会变成a,大于b的都会变成b,在a和b之间的数字不会发生变化。
输出的结果如下:
数组的添加删除和修改
添加
使用append方法进行添加元素:
a = np.array([[1, 2, 3], [4, 5, 6]])
print('第一个数组:')
print(a)
print('\n')
print(' 向 数 组 添 加 元 素 :')
print(np.append(a, [7, 8, 9]))
print('\n')
如果不指定轴的话,数组会直接变为一维数组,输出的结果如下:
那么如何指定数组呢?
print('沿轴 0 添加元素:') #轴1的元素个数必须是一致的
print(np.append(a, [[7, 8,9]], axis=0))
按照轴0添加元素,而且维度必须一致。
按照轴1添加元素:
print('沿轴 1 添加元素:')
print(np.append(a, [[5, 5], [7, 8]], axis=1))
输出结果如下:
要在指定位置插入元素的方法:
a = np.array([[1, 2], [3, 4], [5, 6]])
print('第一个数组:')
print(a)
print('\n')
print(np.insert(a, 3, [11, 12]))
print('\n')
未传递 Axis 参数。 在插入之前输入数组会被展开,进行插入,输出结果如下:
在插入过程中必须指定轴:
print('沿轴 0 广播:')
print(np.insert(a, 1, [11,12], axis=0))
这样就可以进行插入:
按照轴1进行插入:
print('沿轴 1 广播:')
print(np.insert(a, 1, [7,8,9], axis=1))
输出的结果如下: