Python使用笔记


1. numpy的arange和linspace的使用

arange和linspace是常用的两个用来生成等间距序列的函数,其使用方式如下

arange

其原型如下,start是起始值(默认为0),stop是停止值,step是步进距离(默认为1),后两个参数不常用

numpy.arange([start, ]stop, [step, ]dtype=None, *, like=None)

常见用法有三个

  • arange(stop)
    生成一个不包含stop的序列 [0, stop),步进间距为1(默认步进值)

  • arange(start, stop)
    生成一个不包含stop的序列 [start, stop),步进间距为1(默认步进值)

  • arange(start, stop, step)
    生成一个不包含stop的序列 [start, stop),步进间距为step

使用示例:

import numpy as np
print(np.arange(3))
>> [0 1 2]
print(np.arange(2, 5))
>> [2 3 4]
print(np.arange(2, 5, 0.5))
>> [2.0 2.5 3.0 3.5 4.0 4.5]

linspace

其原型如下,start是起始值,stop是停止数,num是生成的数据个数(默认为1),endpoint是指数据里是否包含stop(默认为True,即包含),retstep是指是否返回值里包含实际使用的步进距离(默认是False,即不包含)。后两个参数不常用

numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)

常见用法有三个

  • linspace(start, stop, num=VALUE)
    生成一个包含VALUE个元素的序列 ,起止区间为[start, stop],步进间距为 s t o p − s t a r t n u m − 1 \frac {stop - start} {num - 1} num1stopstart
  • linspace(start, stop, num=VALUE, endpoint=False)
    生成一个包含VALUE个元素的序列 ,起止区间为[start, stop),不包含stop,步进间距为 s t o p − s t a r t n u m \frac {stop - start} {num} numstopstart
    • linspace(start, stop, num=VALUE, endpoint=False, retstep=True)
      生成一个包含VALUE个元素的序列 ,起止区间为[start, stop),不包含stop,步进间距为 s t o p − s t a r t n u m \frac {stop - start} {num} numstopstart ,同时返回步进间距的值

使用示例:

import numpy as np
print(np.linspace(0, 3, 5))
>> [0 0.75 1.5 2.25 3]
print(np.linspace(0, 3, 5, endpoint=False))
>> [0 0.6 1.2 1.8 2.4]
print(np.linspace(0, 3, 5, endpoint=False, retstep=True))
>> (array([0. , 0.6, 1.2, 1.8, 2.4]), 0.6)

所以如果想生成一个序列为[0 0.6 1.2 1.8 2.4], 以下两种写法都是可以实现目标

np.linspace(0, 3, 5, endpoint=False)
>> [0 0.6 1.2 1.8 2.4]
np.arange(0, 3, 0.6)
>> [0 0.6 1.2 1.8 2.4]

2. 数组的补齐(padding)

numpy.pad(array,pad_width,mode,**kwargs)

可以将数组array按指定的方法填充成指定的形状。补齐的过程中,不修改输入输出,而是将补齐的结果放在返回值里,所以需要新建一个数据接收该函数的返回值,此为补齐后的数值

其中:

array:表示N维数组

pad_width:每个轴边缘填充的数值。

mode:表示填充方法。

constant:常数填充,constant_values=(x,y)表示前面用x填充,后面用y填充,无constant_values参数时默认填充0

一维数组补齐

import numpy as np
array_one = np.array([1,2,3,4,5])

#(1,3):在该数组前面填充1位,后面填充3位;
extend_one1 = np.pad(array_one, (1,3))
print(extend_one1)

# constant_values=(9,8) 表示前面填充9,后面填充8
extend_one2 = np.pad(array_one, (1,3),'constant', constant_values=(9,8))
print(extend_one2)

在这里插入图片描述

二维数组补齐

import numpy as np
array_two = np.array([[1,1,1],[2,2,2],[3,3,3]])

"""
((1,1),(2,2))表示在二维数组array第一维(此处便是行)前面填充1行,最后面填充1行;
                 在二维数组array第二维(此处便是列)前面填充2列,最后面填充2列
constant_values=(0,4) 表示第一维填充0,第二维填充4
"""
extend_two = np.pad(array_two,((1,1),(2,2)),'constant', constant_values=(0,4)) 

print(array_two)
print(extend_two)

结果
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值