numpy学习

写一个(3,4,4)的数组

 .ndim是查看维度 .shape是查看形状

除非特意指定(见 4.1.2 节),否则 numpy.array 会尝试为新建的数组推断出合适的数 据类型。数据类型保存在一个特殊的元数据对象 dtype 中。用.dtype就可以查找到数据类型

np.zeros和np.ones可以制造全0和全1的数组 比如np.zeros((3,2,6))

.astype可以转换数据类型 比如data.astype(np.float64)

一.numpy的运算

切片 [:] 会给数组中的所有值赋值:

如果你想得到 ndarray 切片的副本而非视图,就需要显式地复制数组,例如 arr[5:8].copy()

切片如data[:2,1:]这个就会识别为矩阵的前两行和后第一列之后的所有列

   花式索引

在 arr1 = arr[[4, 3, 0, 6]] 中使用两个方括号是因为这里使用了高级索引。

当使用一个列表或数组作为索引时,需要将索引放在一对方括号内,并且如果有多个索引值,每个索引值也需要放在一个列表中,这个列表再放在外层的方括号中。

例如,这里 [4, 3, 0, 6] 是一个列表,表示要从原始数组 arr 中选取第 4 行、第 3 行、第 0 行和第 6 行,外层的方括号将这个索引列表括起来,告诉 NumPy 使用这些索引值进行高级索引操作。如果只使用一个方括号,就不是高级索引的正确语法形式了。

也可以用两个索引如下图

接上一个arr

  1. arr1=arr[[1,5,7,2]][:,[0,3,1,2]]

    • arr[[1,5,7,2]]使用高级索引,从原始数组中选取第 1 行、第 5 行、第 7 行和第 2 行,形成一个新的数组。
    • [:,[0,3,1,2]]对这个新数组进行切片操作,选取所有行,但是列的顺序变为第 0 列、第 3 列、第 1 列和第 2 列。

  • 花式索引(Fancy Indexing)切片索引(Slicing) 在处理赋值操作时有不同的行为。
  • 当你用花式索引从数组中选取元素时,NumPy 会复制这些数据到一个新的数组中,所以不会直接影响原数组。
  • 但是,如果你用花式索引来给某些元素赋值,则会直接修改原数组中被索引的那些元素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值