python- numpy的常用操作

1. numpy 常常被缩写成 np

import numpy as np

2. 自定义数组

ls = [[1,2],[3,4],[5,6]]
array = np.array(ls)
# 定义形状,填充值一致
array_0 = np.zeros([3,3]) # 形状为3*3的全零矩阵
array_1 = np.ones([3,3]) # 形状为3*3的全1矩阵
array_6 = np.full([3,3],6) # 形状为3*3的全为6的矩阵 
# 等差序列
array = np.arange(10,20,2) # 根据步长来取数据:[10, 12, 14, 16, 18]
array = np.linspace(10,20,6) # 等距离取6个数据:[10., 12., 14., 16., 18., 20.]
# 设置技巧,20-10 = 10 可以被5整除,则要设置 5+1 = 6 个数据
# 斜对角
np.eye(3) # 生成斜对角都为1的3*3矩阵
np.diag([1,2,3]) # 生成斜对角为1,2,3的3*3矩阵 
# 范德蒙数组
np.vander([3,4,5,6])

3. 查看array的属性

ls = [[1,2],[3,4],[5,6]]
array = np.array(ls)
array.shape # (3,2)
array.size # 6
array.T # 转置 操作
array.real # 提取实部
array.imag # 提取虚部

4. 复制和变形

ls = [[1,2],[3,4],[5,6]]
array = np.array(ls)
array_copy = array.copy() # 由于数组操作都会改变原数组,保护原数组要先将数组复制
# reshape变换形状
array_re = array.reshape(2,-1) # 原数组不变。新数组是将原数组变成2行,-1代表着:具体变成几列,计算机自己计算。
array.resize(2,3) # 将原数组进行变形,不能使用-1的技巧
array.flatten() # 拉伸成一维数组(扁平化)

5. 索引方法-切片和键对索引

array = np.vander([3,4,5,6])
输出: [[ 27,   9,   3,   1],
       [ 64,  16,   4,   1],
       [125,  25,   5,   1],
       [216,  36,   6,   1]]
# 切片
array[1:3,1:3] # 第一,二行和第一,二列
# 键对索引
 # 单键对
array[0,2] # 3
 # 多键对,第一个列表放行索引,第二个放列索引
array[[0,1,2],[1,2,3]] # [9, 4, 1]

6. 数组的拼接和拆分

# 拼接
np.vstack([array1,arrat2]) # 数组的竖向拼接,vertical
np.hstack([array1,arrat2]) # 数组的横向拼接,horizontal
np.stack([array1,arrat2]) # 数组的升维拼接
# 拆分
np.vsplit(array,2) # 数组的竖向拆分,分成2份,vertical
np.hsplit(array,2) # 数组的横向拼接,分成2份,horizontal
np.split(array,2) # 数组的降维拆分

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值