一、索引操作
1.根据索引找数据
- 一维
import numpy as np
a = [1,2,3,4,5]
n = np.array(a)
#第一个元素
x = n[0]
#最后一个元素
y = n[-1]
print('x:',x)
print('y:',y)
- 二维
import numpy as np
n = np.random.randint(0,10,size=(4,5))
a = n
b = n
print('n:',n)
#最后一个元素
x = a[3,4]
y = b[-1,-1]
print('x:',x)
print('y:',y)
- 三维
import numpy as np
n = np.random.randint(0,100,size=(4,5,6))
print('n:',n)
x = n[1,2,-1]
print('x:',x)
2.根据索引修改数据
import numpy as np
n = np.random.randint(0,100,size=(4,5,6))
print('n:',n)
x = n[1,2,-1]
print('x:',x)
n[1,2,-1] = 1234567
print('修改过后的n:',n)
二、切片操作
1.一维
import numpy as np
a = [1,2,4,7,3,5,9,24,123,89]
n = np.array(a)
#截取数据
x = n[2:6]
print('取第三个到第六个元素:',x)
#反转数据
y = n[::-1]
print('反转过后的数据是:',y)
2.二维
- 行操作
import numpy as np
n = np.random.randint(0,10,size=(6,8))
print('n:',n)
#取一行
x = n[0]
print('第一行数据是:',x)
#取连续多行
x = n[1:4]
print('第一行到第四行数据是:',x)
#取不连续多行
x = n[[1,2,4]]
print('第二行、第三行、第五行数据是:',x)
x = n[[1,4,2]]
print('第二行、第五行、第三行数据是:',x)
x = n[[1,4,2,2,2]]
print('第二行、第五行、三次第三行数据是:',x)
- 列操作
import numpy as np
n = np.random.randint(0,10,size=(6,8))
print('n:',n)
#取一列
x = n[:,0]
print('第一列数据是:',x)
x = n[1:4,0]
print('第二、三、四行的第一列数据是:',x)
#取连续多列
x = n[:,2:5]
print('第三、四、五列数据是:',x)
#取不连续多列
x = n[:,[1,3,4]]
print('第二、四、五列数据是:',x)
知识点为听课总结笔记,课程为B站“千锋教育NumPy教程,保姆级基础入门Python数据分析”:https://www.bilibili.com/video/BV1Hd4y1C7uQ?spm_id_from=333.788.player.switch&vd_source=586b130eb42b843840277b81c8014989&p=19