Numpy入门——基础操作(1)

N维数组对象:ndarray
ndarray是一个多维数组对象,由两部分构成:
• 实际的数据
• 描述这些数据的元数据(数据维度、数据类型等)
ndarray数组一般要求所有元素类型相同(同质),数组下标从0开始。轴(axis): 保存数据的维度;秩(rank):轴的数量。

数组的创建方法

  • 从Python中的列表、元组等类型创建ndarray数组

x = np.array(list/tuple)    # x = np.array([0,1,2,3]) #从列表类型创建
x = np.array(list/tuple, dtype=np.float32)     # x = np.array((0,1,2,3)) #从元组类型创建, 还可混合创建

  • 使用NumPy中函数创建ndarray数组,如:arange, ones, zeros等

 

import numpy as np
a = np.ones((3,4)) #一个3行4列二维数组
print(a)
[[1. 1. 1. 1.]
 [1. 1. 1. 1.]
 [1. 1. 1. 1.]]

a = np.ones((2,3,4)) #三维数组,即两个元素,每个元素3行4列数组
print(a)
[[[1. 1. 1. 1.]
  [1. 1. 1. 1.]
  [1. 1. 1. 1.]]

 [[1. 1. 1. 1.]
  [1. 1. 1. 1.]
  [1. 1. 1. 1.]]]
a = np.linspace(1,10,4) # 从1到10等间距的生成4个数,默认浮点数
b = np.linspace(1,10,4,endpoint=False) # 从1到10(但10不在数组内)等间距的生成4个数

数组的变换

对于创建后的ndarray数组,可以对其进行维度变换和元素类型变换。

注意哪些操作改变原数组,哪些不改变元数据。

new_a = a.astype(new_type): astype()方法一定会创建新的数组(原始数据的一个拷贝),即使两个类型一致

ndarray数组向列表的转换: ls = a.tolist()

 

数组的操作(索引和切片)

索引:获取数组中特定位置元素的过程
           多维数组的索引:a[1, 2, 3]  #表示第1个元素,第3行,第4列,从0开始
           x[1, 2, 4]    #每个维度一个索引值,用逗号分割

切片:获取数组元素子集的过程
           x[1 : 4 : 2]   # 3元素冒号分割:起始编号: 终止编号(不含): 步长

a = np.arange(24).reshape((2,3,4))
a[:, 1, -3] # 不关心第一个维度,选择第二维度的1行,第三维度的-3列
a[:, 1:3, :] # 只对第二维度进行切片。第二个维度选取1-3行,但不包括3,其他维度不考虑
a[:, :, ::2] # 对于第三个维度使用步长跳跃切片。

data[:,:-1] # 二维数组,返回全部除了最后一列
data[:,-1] # 二维数组,只返回最后一列,注意两个切片的选取,有无冒号

数组的运算

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值