本人学东西有点抠牛角尖,所以注释会详细点。希望大家可以从中学到些东西。
文章目录
- 1.创建数组的基本方法
- 2.通过列表创建一维数组,数组包含1、2、3、4、5这5个数字即可。
- 3.输出该一维数组的形状特征
- 4.输出该一维数组中的元素2与元素3
- 5.将该一维数组中的元素1修改成-1
- 6.通过列表创建二维数组
- 7.输出该二维数组的形状特征
- 8.分别输出该二维数组中的第1行与第2行
- 9.获取该二维数组中元素6
- 10.将该二维数组中的元素6修改成-1
- 11.通过列表创建三维数组
- 12.输出该三维数组的形状特征
- 13.输出该三维数组中的[[1, 2, 3], [4, 5, 6]]
- 14.输出该三维数组中的[4, 5, 6]
- 15.输出该三维数组中的元素9
- 16.将该三维数组中的元素9修改成-1
- 17.创建一维数组,所有元素为0
- 18.创建二维数组,所有元素为0
- 19.创建二维数组,所有元素为6
- 20.创建二维数组,对角线填充1
- 21.取出一维数组中的某些元素
- 22.取出一维数组的前5个元素
- 23.取出一维数组中大于某个值的元素
- 24.取出一维数组中小于某个值的元素
- 25.取出二维数组中的某些元素
- 26.取出二维数组中的某些元素
- 27.判断数组中元素是否大于20
- 28.将数组中大于20的元素取出来
- 29.新创建数组b来获取a中的元素
- 30.将以上结果加上10并且返回到原数组中
- 31.找出a中数字1的第5次重复的索引
- 32.改变一维数组的形状
- 33.生成随机数
- 34.两数组相加
- 35.两数组相减
- 36.两数组相乘
- 37.两数组相除
- 38.两数组比较大小
- 39.数组中各个元素取平方
- 40.数组中所有元素求总和
- 41.数组中各列元素求总和
- 42.数组中各行元素求总和
- 43.数组中最小/最大元素
- 44.数组中元素累加值
- 45.将数组中所有的奇数换成-1,偶数换成1,原数组改变
- 46.将数组中所有的奇数换成-1,偶数换成1,原数组不改变
- 47.保留3位小数
- 48.计算两个数组间的欧式距离
- 49.向矩阵的每一行添加常数向量
- 50.二维数组乘以一维数组
- 51.二维数组加上一维数组
- 52.不同数组长度的运算
- 53.绘制简单二次函数图
- 54.纵向叠加两个数组
- 55.横向叠加两个数组
- 56.将数组[1,2,3]变成[1, 1, 1, 2, 2, 2, 3, 3, 3]
- 57.将数组[1,2,3]变成[1, 2, 3, 1, 2, 3, 1, 2, 3]
- 58.取数组a、b中的相同的元素
- 59.从数组a中删除与数组b相同的元素
- 60.从一维数组中删除所有NaN值
- 61.获取a和b元素对应的位置
- 62.获取数组a中给定范围的所有元素
- 63.交换二维numpy数组中的两列
- 64.交换二维numpy数组中的两行
- 65.行倒数
- 66.列倒数
- 67.限制打印的元素数目
- 68.创建以5起始,累加3,长度为10的一维数组
- 69.计算numpy数组的移动平均值
- 70.将时间转换成数字表示
- 71.找到一个一维数组a中的所有峰值
- 72.获取数组每行的最小值
- 73.对一维数组a中的所有元素设置从小到大排序的排序号
- 74.对二维数组a中的所有元素设置从小到大排序的排序号
- 75.将多个一维数组连接一起
- 76.将小于最小值的元素变成最小值,大于最大值的元素变成最大值
1.创建数组的基本方法
#以一维数组为例
import numpy as np #首先导入numpy包
a = np.array([0, 1, 2, 3, 4]) #通过列表创建,注意是中括号
b = np.array((0, 1, 2, 3, 4)) #通过元组创建,注意是小括号
c = np.arange(0,5,1) #0是开始数字,5是结束数字(不含本身),1是间隔;也可以直接省略写成np.arange(5)
d = np.linspace(0, 5, 5,endpoint=False) #linspace 用于在指定的区间内返回间隔均匀的值。0是开始数字,中间5是结束数字,后面的5是元素个数,endpoint=False代表结束数字不含5本身
a,b,c,d
(array([0, 1, 2, 3, 4]),
array([0, 1, 2, 3, 4]),
array([0, 1, 2, 3, 4]),
array([0., 1., 2., 3., 4.]))
2.通过列表创建一维数组,数组包含1、2、3、4、5这5个数字即可。
a = np.array([1, 2, 3, 4, 5]) #[1, 2, 3, 4, 5]是列表,注意列表是中括号;array为返回数组的函数
a
array([1, 2, 3, 4, 5])
3.输出该一维数组的形状特征
a.shape
(5,)
4.输出该一维数组中的元素2与元素3
a[1],a[2] #列表[1, 2, 3, 4, 5]从左到右的索引依次是0,、1、2、3、4,故而a[1]输出2,a[2]输出3
(2, 3)
5.将该一维数组中的元素1修改成-1
a[0] = -1
a
array([-1, 2, 3, 4, 5])
6.通过列表创建二维数组
a=np.array([[1, 2, 3], [4, 5, 6]]) #可留意到与题2不同之处,该二维数组中外围有两层中括号
a
array([[1, 2, 3],
[4, 5, 6]])
7.输出该二维数组的形状特征
a.shape #代表该二维数组是2行3列
(2, 3)
8.分别输出该二维数组中的第1行与第2行
a[0],a[1] #留意与题3不同,a[0]表示第1行的索引0,取[1, 2, 3];a[1]表示第2行的索引1,取[4, 5, 6];
(array([1, 2, 3]), array([4, 5, 6]))
9.获取该二维数组中元素6
a[1, 2] #6在第2行第3列,而第2行的索引是1,第3列的索引是2,所以a[1, 2]
6
10.将该二维数组中的元素6修改成-1
a[1, 2]=-1
a
array([[ 1, 2, 3],
[ 4, 5, -1]])
11.通过列表创建三维数组
a=np.array([[[1, 2, 3], [4, 5, 6]],
[[7, 8, 9],[10, 11, 12]]]) #可留意到与题2题6不同之处,该三维数组中外围有三层中括号
a
array([[[ 1, 2, 3],
[ 4, 5, 6]],
[[ 7, 8, 9],
[10, 11, 12]]])
12.输出该三维数组的形状特征
a.shape #可以想象成立方体的长宽高,第一个2代表深度,第二个2代表2行,第三个3代表3列
(2, 2, 3)
13.输出该三维数组中的[[1, 2, 3], [4, 5, 6]]
a[0] #索引0对应的是[[1, 2, 3], [4, 5, 6]]
array([[1, 2, 3],
[4, 5, 6]])
14.输出该三维数组中的[4, 5, 6]
a[0,1] #索引0对应的是[[1, 2, 3], [4, 5, 6]],而索引1又对应其中的[4, 5, 6]
array([4, 5, 6])
15.输出该三维数组中的元素9
a[1,0,2] #9位于[[ 7, 8, 9],[10, 11, 12]]中,而[[ 7, 8, 9],[10, 11, 12]]对应索引1,在[[ 7, 8, 9],[10, 11, 12]]中,9又是
#位于第1行(索引0,第3列(索引2)),所以取索引1、0、2
9
16.将该三维数组中的元素9修改成-1
a[1,0,2] =-1
a
array([[[ 1, 2, 3],
[ 4, 5, 6]],
[[ 7, 8, -1],
[10, 11, 12]]])
17.创建一维数组,所有元素为0
a = np.zeros((5)) #zeros填充0的函数。可以换成np.ones试试,全填充1
a
array([0., 0., 0., 0., 0.])
18.创建二维数组,所有元素为0
a = np.zeros((2,3)) #可以换成np.ones试试,全填充1
a
array([[0., 0., 0.],
[0., 0., 0.]])
19.创建二维数组,所有元素为6
np.full((2,3), 6) #也可将6换成True看看效果
array([[6, 6, 6],
[6, 6, 6]])
20.创建二维数组,对角线填充1
np.eye(5, 4, 0) #5、4代表5行4列,0代表填充的1是从第0个索引开始的,右下角45度的方向填充1
array([[1., 0., 0., 0.],
[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.],
[0., 0., 0., 0.]])
21.取出一维数组中的某些元素
# 先创建一维数组a
a = np.arange(0, 100, 10)
a
array([ 0, 10, 20, …, 70, 80, 90])
a[[1, 5, -1]] #索引1对应10,索引5对应50,索引-1对应90
array([10, 50, 90])
a[1],a[5],a[-1] #或者采取此方法
(10, 50, 90)
22.取出一维数组的前5个元素
a[:5]
array([ 0, 10, 20, 30, 40])
23.取出一维数组中大于某个值的元素
a[a >= 60]
array([60, 70, 80, 90])
24.取出一维数组中小于某个值的元素
a[np.where(a<= 60)] #np.where(a<= 60)取出的是索引,不是元素,所以需要再在外侧加上a[]
array([ 0, 10, 20, …, 40, 50, 60])
25.取出二维数组中的某些元素
# 先创建一个二维数组
a = np.array([[11, 12, 13, 14, 15],
[16, 17, 18, 19, 20],
[21, 22, 23, 24, 25],
[26, 27, 28 ,29, 30],
[31, 32, 33, 34, 35]])
a[0, 1:4] #0代表第1行(索引从0开始的),1:4代表第一行的12(索引1)、13(索引2)、14(索引3)
array([12, 13, 14])
a[1:4, 0] #1:4代表中间的三行,0代表第一列,交叉就是[16, 21, 26]
array([16, 21, 26])
26.取出二维数组中的某些元素
a[::2,::2]