美文网首页
Numpy组队学习 Task02打卡

Numpy组队学习 Task02打卡

作者: 萤窗小烛 | 来源:发表于2020-10-23 20:25 被阅读0次

索引与切片

索引与切片.png

总结一下Numpy中索引与切片的常用操作,思维导图可以帮助自己快速梳理回顾知识点。个人觉得Numpy作为一个工具,没必要花太多精力去熟悉每个API,遇到没见过的API查看官方文档学习即可。

一维数组

a = np.arange(10)
a
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

索引

a[0] = 1
print(a, a[1])
[1 1 2 3 4 5 6 7 8 9] 1

切片

a[0:2] = 2
a
array([2, 2, 2, 3, 4, 5, 6, 7, 8, 9])
# 拷贝数组
b = a[:].copy()
b[0] = 1
print(a == b)
[False  True  True  True  True  True  True  True  True  True]

多维数组

a = np.arange(12).reshape(3,-1)
a
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])

索引

# ndim从原来的2-->1
print(a[0])
print(a[0, 0])  # 等价于a[0][0]
print('-------')
print(a.ndim)
print(a[0].ndim)
print(a[0, 0].ndim)
[0 1 2 3]
0
-------
2
1
0

dot 索引

b = np.random.randint(1, 100, [2, 2, 3])
print(b)
print(b[1, ...])
print(b[..., 2])
[[[35 86 56]
  [18  9 50]]

 [[29 94  2]
  [48 26 26]]]
[[29 94  2]
 [48 26 26]]
[[56 50]
 [ 2 26]]

切片

# 切片不改变数组的维度
print(a[:2, 1:])
[[1 2 3]
 [5 6 7]]
# 索引 & 切片
# 得到降低一个维度的切片
print(a[1,:2])
[4 5]

布尔索引

data = np.random.randn(7, 4)
names = np.array(['Bob', 'Joe', 'Will', 'Bob', 'Will', 'Joe', 'Joe'])
data
array([[-0.7508834 , -0.54532566, -0.76911561, -1.62799584],
       [ 1.83550152, -0.90720255,  0.5720965 ,  0.23752405],
       [ 1.02863757, -0.03463182, -0.26193802,  1.60239582],
       [ 0.42237715, -1.4393293 ,  1.57730021, -0.90482475],
       [-0.09214181,  0.17379535,  0.40528223, -2.7919602 ],
       [-0.33572487, -0.74226905,  1.16949952,  0.25240986],
       [-1.58267947, -0.53052068,  0.20950701, -1.9841287 ]])
names
array(['Bob', 'Joe', 'Will', 'Bob', 'Will', 'Joe', 'Joe'], dtype='<U4')
names == 'Bob'
array([ True, False, False,  True, False, False, False])
data[names=='Bob']
array([[-0.7508834 , -0.54532566, -0.76911561, -1.62799584],
       [ 0.42237715, -1.4393293 ,  1.57730021, -0.90482475]])
data[names=='Bob', 2:]
array([[-0.76911561, -1.62799584],
       [ 1.57730021, -0.90482475]])

神奇索引

a = np.arange(12).reshape(4, -1)
a
array([[ 0,  1,  2],
       [ 3,  4,  5],
       [ 6,  7,  8],
       [ 9, 10, 11]])
a[[3, 2, 0, 1]]
array([[ 9, 10, 11],
       [ 6,  7,  8],
       [ 0,  1,  2],
       [ 3,  4,  5]])
a[[3, 2, 1], [2, 0, 1]]
array([11,  6,  4])
a[0, [1, 2]]
array([1, 2])
a[:2, [0, 2]]
array([[0, 2],
       [3, 5]])
a[:2, [True, False, True]]
array([[0, 2],
       [3, 5]])

相关文章

  • Numpy组队学习 Task02打卡

    索引与切片 总结一下Numpy中索引与切片的常用操作,思维导图可以帮助自己快速梳理回顾知识点。个人觉得Numpy作...

  • Numpy组队学习 Task03打卡

    数组操作 更改形状 通过修改shape属性改变数组形状 flat方法将数组转换为一维的迭代器 flatten方法将...

  • Numpy组队学习 Task05打卡

    排序 可以使用axis参数沿某个轴进行排序 a.sort() 对原数组按位置排序 np.sort(a) 返回的是已...

  • Numpy组队学习 Task01打卡

    主要概念 数据类型 类型解释bool布尔类型,1 个字节,值为 True 或 Falseint整数类型,通常为 i...

  • Numpy组队学习 Task04打卡

    数学函数 算术运算 三角函数 对指数 数学和统计方法 四舍五入 逻辑函数 真值测试 数组内容 逻辑运算 对照

  • 考研组队学习监督打卡学习群

    考研组队学习打卡监督群-要求在职人员每天学习3h以上,其他每天学习10以上。 能做到就往下看:(拉倒底部扫码加我进...

  • DataWhale组队学习之pandas预备知识:numpy,p

    一、Python基础 1. 列表推导式与条件赋值 在生成一个数字序列的时候,在Python中可以如下写出: 事实上...

  • 学习组队

    没能力的人惶恐始终,有能力的人运筹帷幄 没有人始终愿意带个累赘,即使没有拒绝你 没有人始终是拖累 人生就像牌一样,...

  • 组队学习

    早上六点多,打开钉钉软件,栋哥同学L申请加好友的提示灯亮着,L同学是个漂亮女生,学霸。我自作主张帮他点了通过,对方...

  • DataWhale金融风控打卡记录 Task02

    Task02 1.学习目标 1.1学习如何对数据集整体概况进行分析,包括数据集的基本情况(缺失值,异常值) 1.2...

网友评论

      本文标题:Numpy组队学习 Task02打卡

      本文链接:https://www.haomeiwen.com/subject/jelbmktx.html