直接上代码吧,导入numpy,顺便来个3行4列的矩阵
import numpy as np
t1 = np.arange(12).reshape(3,4)
t1
'''
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
'''
# 开始取数~
t1[0,0] # 第一行,第一列(索引是从0开始哦)
# 0
# 不仅是取数,还能修改赋值!
t1[0,0] = 100
t1
'''
array([[100, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
'''
下面有点难哦,我们来取连续的行和列:
# 第一行到第三行, 第二列到最后一列
# 因为索引从0开始,但我还是通俗地把第0行称作第一 行,大家读起来也更习惯~
t1[0:2,1:]
'''
array([[1, 2, 3],
[5, 6, 7]])
'''
# 连续的行, 不连续的列: 第二行到最后一行, 第二列, 第四列
t1[1:,(1,3)]
# 用中括号也行,效果一样
t1[1:,[1,3]]
'''
array([[ 5, 7],
[ 9, 11]])
'''
# 开始有点烧脑了,多看几遍就看懂啦
# 先拿到连续的行,不连续的列, 然后再去取单独的行,和全部的列,可以拆开运行看看
t1[:,(1,3)][(0,2),:]
# 拆开就是:先拿所有的行,第二列, 第四列,然后再取其中的第一行,第三行
'''
array([[ 1, 3],
[ 9, 11]])
'''
接下来是按照条件取数:
# 再回顾一下t1长啥样:
'''
array([[100, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
'''
# 矩阵加条件, 会返回一个逻辑矩阵, 尺寸和shape都一样,其中大于8的就是True,小于等于8的就是False
t1 > 8
'''
array([[ True, False, False, False],
[False, False, False, False],
[False, True, True, True]])
'''
# 矩阵筛选逻辑矩阵内为true的元素,搞定啦
t1[t1>8]
# array([100, 9, 10, 11])
numpy篇就到此结束啦,pandas见~
网友评论