numpy的arange函数与reshape函数

发布时间:2024年01月10日
import numpy as np
# 可以用 as len使用别名,与C++中的using有异曲同工之妙; 

a = np.arange(5,20).reshape(3, -1)
# arange(start,)用于生成一维数组
# reshape()将一维数组转换为多维数组

# np.arange([start, ]stop, [step, ]dtype=None)

#     参数解释:
#     start:起点值;可忽略不写,默认从0开始
#     stop:终点值;生成的元素不包括结束值
#     step:步长;可忽略不写,默认步长为1
#     dtype:默认为None,设置显示元素的数据类型
#     不同参数个数情况介绍:
#         一个参数时,参数值为终点值,起点取默认值0,步长取默认值1。
#         两个参数时,第一个参数为起点值,第二个参数为终点,步长取默认值1。
#          三个参数时,第一个参数为起点,第二个参数为终点,第三个参数为步长,其中步长支持小数。


reshape()函数用于在不更改数据的情况下为数组赋予新形状。

1. 语法
numpy.reshape(a, newshape, order=‘C’)


a

reshape函数的参数说明:

a.reshape(m,n)表示将原有数组a转化为一个m行n列的新数组,a自身不变。m与n的乘积等于数组中的元素总数

reshape(m,n)中参数m或n其中一个可写为"-1","-1"的作用在于计算机根据原数组中的元素总数自动计算行或列的值。

举例:

# Numpy的数组类被称作ndarray(应当是n维数组的缩写)。常被称作数组。

import numpy as np
# 可以用 as 使用别名,与C++中的using有异曲同工之妙; 

a = np.arange(5,20).reshape(3, -1)
# arange(start,)用于生成一维数组
# reshape()将数组转换为多维数组
print(a)

b = np.arange(10, 20)
b
print(b)
print("只含一个参数,默认从0开始的一维数组: ", np.arange(10))
print("只含两个参数,从起点开始到终点(不包含终点)的一维数组: ", np.arange(5,20))
print("含三个参数,从起点开始到终点(不包含终点),步长为设定值的一维数组: ", np.arange(1, 20, 2))

print("数组的维度(shape):", a.shape)
print("数组轴的个数(矩阵的秩)(ndim):", a.ndim)
print("数组元素的总个数(size):", a.size)
print("一个用来描述数组中元素类型的对象(dtype):", a.dtype)
print("数组中每个元素的字节大小(itemsize):", a.itemsize)
print(type(a))

print("三行五列:", a.reshape(3, 5))
print("五行三列:", a.reshape(5, -1))

?输出结果:

[[ 5  6  7  8  9]
 [10 11 12 13 14]
 [15 16 17 18 19]]
[10 11 12 13 14 15 16 17 18 19]
只含一个参数,默认从0开始的一维数组:  [0 1 2 3 4 5 6 7 8 9]
只含两个参数,从起点开始到终点(不包含终点)的一维数组:  [ 5  6  7  8  9 10 11 12 13 14 15 16 17 18 19]
含三个参数,从起点开始到终点(不包含终点),步长为设定值的一维数组:  [ 1  3  5  7  9 11 13 15 17 19]
数组的维度(shape): (3, 5)
数组轴的个数(矩阵的秩)(ndim): 2
数组元素的总个数(size): 15
一个用来描述数组中元素类型的对象(dtype): int32
数组中每个元素的字节大小(itemsize): 4
<class 'numpy.ndarray'>
三行五列: [[ 5  6  7  8  9]
 [10 11 12 13 14]
 [15 16 17 18 19]]
五行三列: [[ 5  6  7]
 [ 8  9 10]
 [11 12 13]
 [14 15 16]
 [17 18 19]]

?参考资料:

Python reshape() 函数用法_pd.reshape-CSDN博客

numpy库常用函数——np.arange()函数-CSDN博客

文章来源:https://blog.csdn.net/qq_51825761/article/details/135506393
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。