记录从准研一假期自学PYTHON的全过程day27

116 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 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)

输出的结果为:

image.png

将某一列全部修改为0:

a[:,1]=0

修改某一行的值:

a[1,:]=0

连续的多行:

a[1:]=0

连续的多列:

a[0:,1:]=0

以上四种写法各不相同,在复习的时候需要多多注意

np数组中的条件学习

将数组中全部小于10的数字全部修改为0:

a[a<10]=0
print(a)

输出的结果如下:

image.png

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之间的数字不会发生变化。

输出的结果如下:

image.png

数组的添加删除和修改

添加

使用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')

如果不指定轴的话,数组会直接变为一维数组,输出的结果如下:

image.png

那么如何指定数组呢?

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

输出结果如下:

image.png

要在指定位置插入元素的方法:

a = np.array([[1, 2], [3, 4], [5, 6]])

print('第一个数组:')
print(a)
print('\n')
print(np.insert(a, 3, [11, 12]))
print('\n')

未传递 Axis 参数。 在插入之前输入数组会被展开,进行插入,输出结果如下:

image.png

在插入过程中必须指定轴:

print('沿轴  0 广播:')
print(np.insert(a, 1, [11,12], axis=0))

这样就可以进行插入:

image.png

按照轴1进行插入:

print('沿轴  1 广播:')
print(np.insert(a, 1, [7,8,9], axis=1))

输出的结果如下:

image.png