数据科学初阶(四)-- numpy数组生成以及矩阵转换

文章说明: 本系列面向全国大中小学的通用数据科学教材,原项目是由
Jin Li大佬整理的python笔记,鄙人学习后添加了许多自己的见解,于是最后写成了这系列手册。



生成数组

1. 使用arange函数

arange函数类似range函数,其返回值为数组。

语法:

# arange(start, stop=None, step=1, dtype=None)
import numpy as np
np.arange(4)
# 返回 array([0,1,2,3])

同时可以为arange函数生成的数组设置步长:

# 设置步长为0.1
np.arange(0,1,0.1, dtype=np.float)

2. 使用linspace函数

linspace函数可以生成一个等差数组,其参数列表为起始值、终止值以及数组元素的个数。

# 与arange函数不同的是
# linspace第三个参数设置的是元素个数,而不是步长
np.linspace(0,5,5)
# 返回 array([0,1,2,3,4])

linspace相应的还有一个logspace函数。该函数可以对产生数等距分布的数组,其默认以10为基地,用法与linspace类似。

3. 生成网格数组

使用meshgrid函数

meshgrid函数可以在给定一维坐标阵列x1,x2,…,xn的情况下,为N-D网格上的N-D标量/矢量场的矢量化生成N-D坐标数组。

语法:numpy.meshgrid(*xi, **kwargs)

meshgrid函数通过索引关键字参数支持这两种索引约定。给字符串ij返回一个带有矩阵索引的网格网格,而xy返回带有笛卡尔索引的网格网格。在输入长度为M和N的二维情况下,xy索引的输出为形状(N, M)ij索引的输出为形状(M, N)。在输入长度为M、N和P的三维情况下,xy索引的输出为形状(N, M, P)ij索引的输出为形状(M, N, P)

# 官网给出的例子
xv, yv = np.meshgrid(x, y, sparse=False, indexing='ij')
for i in range(nx):
    for j in range(ny):
    # 使用ij方式索引返回<i,j>型数组
        # treat xv[i,j], yv[i,j]

xv, yv = np.meshgrid(x, y, sparse=
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DEROOCE

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值