Python中numpy库的学习(二)访问、修改数组

一、访问数组

1、访问数组

1.1 索引值访问,默认索引从0开始

a = np.array([1, 2, 3, 4, 5, 6])
print(a[3])     # 4
print(a[-1], a[-2])    # 6 5

1.2 索引值列表访问,返回新数组

print(a[[1, 4]])    # [2 5]

1.3 根据值的范围访问

print(a[a > 3])     # [4 5 6]

 1.4 切片访问,获取子数组。切片格式:[起始索引,终止索引,步长]。默认左闭右开,步长为1

print(a[2:])    # [3 4 5 6]
print(a[:-2])   # [1 2 3 4]
print(a[1:3])   # [2 3]
print(a[::3])   # [1 4]
print(a[::-1])  # [6 5 4 3 2 1] 倒序

2、常用的数组属性

a = np.array([[1, 2, 3], [4, 5, 6], [2, 4, 6]])
print(a.shape)  # 数组维度   (3, 3)
print(a.dtype)  # 数组元素类型   int32
print(a.ndim)   # 数组的秩   2
print(a.size)   # 数组包含的元素个数  9
print(a.nbytes) # 数组所占空间大小  36

二、修改数组

1、添加数组元素

a = np.array([1, 2, 3, 4, 5])
a = np.append(a, 8) # 末尾追加,返回数组
print(a)    # [1 2 3 4 5 8]
a = np.insert(a, 0, 10) # 插入
print(a)    # [10  1  2  3  4  5  8]

2、根据索引、索引值列表删除数组元素

        切片左闭右开,列表是实在的

a = np.delete(a, 3)
print(a)    # [10  1  2  4  5  8]
a = np.delete(a, [1, 2])
print(a)    # [10  4  5  8]

3、修改数组

a[0] = 11   # 索引修改
print(a)    # [11  4  5  8]
a[1:3] = [66, 88]
print(a)    # [11 66 88  8]

4、修改形状(维度等)

a = np.array([[1, 2, 3], [4, 5, 6]])
print('原数组为:\n', a)
a = a.reshape(3, 2)     # 前是维度(行),后是元素个数(列)
print('形状改变的数组1为\n', a)
a = a.reshape(2, -1)    # 后参数为-1,自动根据维度生成
print('形状改变的数组2为\n', a)
a = a.reshape(-1)
print('形状改变的数组3为\n', a)  #  [1 2 3 4 5 6]

输出结果如下:

5、修改类型

print(np.typeDict.items())  # 查看支持的类型
# 指定类型,并创建数组
a = np.array([1, 2, 3], dtype=np.int64)
print(a.dtype)  # int64
# 转换元素类型
a = a.astype(np.float32)
print(a.dtype)  # float32
print(a)    # [1. 2. 3.]
a = a.astype(np.str_)
print(a)    # ['1.0' '2.0' '3.0']

新手,若有错误,请指正,谢谢!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值