NumPy学习笔记新版

Numpy

Numpy是Python中科学计算的核心库。它提供了一个高性能的多维数组对象,以及用于处理这些数组的工具。

1 数组 Arrays

numpy数组是一个值网格,所有类型都相同,并由非负整数元组索引。 维数是数组的排名; 数组的形状是一个整数元组,给出了每个维度的数组大小。

我们可以从嵌套的Python列表初始化numpy数组,并使用方括号访问元素:

import numpy as np

a = np.array([1, 2, 3])   # 创建一个一维数组
print(type(a))            # >>> "<class 'numpy.ndarray'>"
print(a.shape)            # >>> "(3,)"
print(a[0], a[1], a[2])   # >>> "1 2 3"
a[0] = 5                  # 改变array中的元素(参考list)
print(a)                  # >>> "[5, 2, 3]"

b = np.array([[1,2,3],[4,5,6]])    # 创建一个二维数组
print(b.shape)                     # >>> "(2, 3)"
print(b[0, 0], b[0, 1], b[1, 0])   # >>> "1 2 4"

Numpy其它常见的创建数组的方式:

import numpy as np

a = np.zeros((2,2))   # 创造一个全0数组
print(a)              # Prints "[[ 0.  0.]
                      #          [ 0.  0.]]"

b = np.ones((1,2))    # 创造一个全1数组
print(b)              # Prints "[[ 1.  1.]]"

c = np.full((2,2), 7)  # 创造一个特定数字的数组
print(c)               # Prints "[[ 7.  7.]
                       #          [ 7.  7.]]"

d = np.eye(2)         # 创造一个边长为2的矩阵,其对角线上的数字为1
print(d)              # Prints "[[ 1.  0.]
                      #          [ 0.  1.]]"

e = np.random.random((2,2))  # 创造一个(2,2)的包含随机数字的数组(默认下random创造的数字为0-1之间)
print(e)                     # Might print "[[ 0.91940167  0.08143941]
                             #               [ 0.68744134  0.87236687]]"

2 数组索引

切片(Slicing)

切片(Slicing): 与Python列表类似,可以对numpy数组进行切片。由于数组可能是多维的,因此必须为数组的每个维指定一个切片:

import numpy as np

# 创造一个边长为(3,4)的二维数组
a = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]])
# a >>>array([[ 1,  2,  3,  4],
#             [ 5,  6,  7,  8],
#             [ 9, 10, 11, 12]])

# 可以使用切片的方法创建一个子数组
b = a[:2, 1:3
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值