数组的创建


目录

1.用到的参数说明 

1.1 数组的属性及其说明

1.2 NumPy的array函数是创建一个数组,格式为array(object,dtype,ndmin)

1.3 arange函数的常用参数及其说明

1.4 linspace函数的常用参数及其说明

 1.5 NumPy的基本数据类型及其取值范围

2. 创建数组并查看数组属性

3. 重新设置数组的shape属性

4. arange函数的常用参数及其说明

5. linspace函数的常用参数及其说明

6. 使用logspace函数创建等比数列

7.使用zeros函数创建数组

8. 使用eye函数创建数组

9. 使用diag函数创建数组

10.使用diag函数创建数组

11. 数组的数据类型转换

12. 创建数据类型

13.查看数据类型

14.自定义数组类型



1.用得到的参数说明 

1.1 数组的属性及其说明

1. ndim:这个属性告诉我们数组是几维的,例如一维数组或二维数组等。
2. shape:此属性表示数组的形状,如3×3数组或其他维度的数组。它通常是一个包含各维度大小的元组。
3. size:这个属性包含数组中的元素总数,相当于`.shape`中所有维度值的乘积。
4. dtype:此属性显示数组元素的数据类型。如果需要转换数组元素的数据类型,应使用`astype`方法而不是直接修改`dtype`属性。
5. itemsize:这个属性表示数组中每个元素所占的字节数。

————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/daigualu/article/details/138556117

1.2 NumPy的array函数是创建一个数组,格式为array(object,dtype,ndmin)


object是指想要创建的数组,即数据源
dtype即data-type,可通过该属性来定义创建的数组的数据类型
ndmin接收的值只能是int值,可以指定生成的数组应该具有的最小维数(注:生成的数组的行列积必须与源数据的元素个数相等)

————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/Desert_guest/article/details/110739059

1.3 arange函数的常用参数及其说明

  • start(可选):数列的起始值,默认为 0。
  • stop:数列的终止值,不包括在结果中。
  • step(可选):数列的步长,默认为 1。
  • dtype(可选):返回数组的数据类型,如果不指定,将根据输入参数自动确定数据类型。

1.4 linspace函数的常用参数及其说明

start
start 参数数值范围的起始点。如果设置为0,则结果的第一个数为0.该参数必须提供。

stop
stop 参数数值范围的终止点。通常其为结果的最后一个值,但如果修改endpoint = False, 则结果中不包括该值(后面示例会说明)。

num (可选)
num 参数控制结果中共有多少个元素。如果num=5,则输出数组个数为5.该参数可选,缺省为50.

endpoint (可选)
endpoint 参数决定终止值(stop参数指定)是否被包含在结果数组中。如果 endpoint = True, 结果中包括终止值,反之不包括。缺省为True。

dtype (可选)
和其他的 NumPy 一样, np.linspace中的dtype 参数决定输出数组的数据类型。如果不指定,python基于其他参数值推断数据类型。如果需要可以显示指定,参数值为NumPy 和 Python支持的任意数据类型。

我们并不需要每次都使用所有参数,如果缺省值可以满足我们需求。一般start, stop, num 比 endpoint 和 dtype常用。

 1.5 NumPy的基本数据类型及其取值范围

  1. 整数类型

    • int8 或 i1:8位有符号整数,取值范围从 -128 到 127。
    • int16 或 i2:16位有符号整数,取值范围从 -32,768 到 32,767。
    • int32 或 i4:32位有符号整数,取值范围从 -2,147,483,648 到 2,147,483,647。
    • int64 或 i8:64位有符号整数,取值范围从 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。
    • 对应的无符号整数类型(如 uint8uint16uint32uint64)也有相似的取值范围,但是是无符号的,即只包含正数和零。
  2. 浮点数类型

    • float16 或 f2:半精度浮点数,取值范围取决于实现和具体的平台,但通常约为 6.55e-5 到 6.55e4,并带有 3 到 4 位的十进制精度。
    • float32 或 f4 或 float:单精度浮点数,取值范围约为 1.2e-43 到 3.4e+38,并带有 7 位的十进制精度。
    • float64 或 f8 或 double:双精度浮点数,取值范围约为 2.2e-308 到 1.8e+308,并带有 15 位的十进制精度。
    • float128 或 f16(在某些平台或版本上可能不可用):四精度浮点数,提供更高的精度和范围。
  3. 复数类型

    • complex64:由两个32位浮点数(实部和虚部)表示的复数。
    • complex128 或 complex:由两个64位浮点数(实部和虚部)表示的复数。
    • complex256(在某些平台或版本上可能不可用):由两个128位浮点数(实部和虚部)表示的复数。
  4. 布尔类型

    • bool:布尔值,True 或 False。在NumPy数组中,这通常表示为8位整数,其中0表示False,非零值表示True。
  5. 其他数据类型

    • object:任何Python对象。
    • string_ 或 S:固定长度的字符串。例如,dtype('S10') 表示长度为10的字符串。
    • unicode_ 或 U:固定长度的Unicode字符串。例如,dtype('U10') 表示长度为10的Unicode字符串。
    • 自定义的数据类型,如结构体(struct)等。

2. 创建数组并查看数组属性

arr1 = np.array([1, 2, 3, 4]) #创建一组数组
print('创建的数组为:', arr1)
创建的数组为: [1 2 3 4]
#创建二维数组
arr2 = np.array([[1, 2, 3, 4], [4, 5, 6, 7], [7, 8, 9, 10]])
print('创建的数组为:\n', arr2)
创建的数组为:
 [[ 1  2  3  4]
 [ 4  5  6  7]
 [ 7  8  9 10]]
print('数组形状为:', arr2.shape) #查看数组元素类型
数组形状为: (3, 4)
print('数组元素类型为:', arr2.dtype) #查看数组元素类型
数组元素类型为: int32
print('数组元素个数为:', arr2.size) #查看数组元素个数
数组元素个数为: 12
print('数组每个元素存储空间为:', arr2.itemsize) #查看数组每个元素存储空间
数组每个元素存储空间为: 4

3. 重新设置数组的shape属性

arr2.shape = 4, 3 #重新设置shape
print('重新设置shape后的arr2为:\n', arr2)
重新设置shape后的arr2为:
 [[ 1  2  3]
 [ 4  4  5]
 [ 6  7  7]
 [ 8  9 10]]

4. arange函数的常用参数及其说明

print('使用arange函数创建的数组为:\n', np.arange(0, 1, 0.1))
使用arange函数创建的数组为:
 [0.  0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]

5. linspace函数的常用参数及其说明

print('使用linspace函数创建的数组为:\n', np.linspace(0, 1, 12))
使用linspace函数创建的数组为:
 [0.         0.09090909 0.18181818 0.27272727 0.36363636 0.45454545
 0.54545455 0.63636364 0.72727273 0.81818182 0.90909091 1.        ]

6. 使用logspace函数创建等比数列

print('使用linspace函数创建的等比数列为:\n', np.linspace(0, 2, 20))
使用linspace函数创建的等比数列为:
 [0.         0.10526316 0.21052632 0.31578947 0.42105263 0.52631579
 0.63157895 0.73684211 0.84210526 0.94736842 1.05263158 1.15789474
 1.26315789 1.36842105 1.47368421 1.57894737 1.68421053 1.78947368
 1.89473684 2.        ]

7.使用zeros函数创建数组

print('使用zeros函数创建的数组为:\n', np.zeros((2, 3)))
使用zeros函数创建的数组为:
 [[0. 0. 0.]
 [0. 0. 0.]]

8. 使用eye函数创建数组

print('使用eye函数创建的数组为:\n', np.eye(3))

使用eye函数创建的数组为:
 [[1. 0. 0.]
 [0. 1. 0.]
 [0. 0. 1.]]

9. 使用diag函数创建数组

print('使用diag函数创建的数组为:\n', np.diag([1, 2, 3, 4]))
使用diag函数创建的数组为:
 [[1 0 0 0]
 [0 2 0 0]
 [0 0 3 0]
 [0 0 0 4]]

10.使用diag函数创建数组

print('使用ones函数创建的数组为:\n', np.ones((5, 3)))
使用ones函数创建的数组为:
 [[1. 1. 1.]
 [1. 1. 1.]
 [1. 1. 1.]
 [1. 1. 1.]
 [1. 1. 1.]]

11. 数组的数据类型转换

print('转换结果为:', np.float64(42)) #整数转换为浮点数
转换结果为: 42.0
print('转换结果为:', np.int8(42.0)) #浮点数转换为整数
转换结果为: 42
print('转换结果为:', np.bool(42)) #整数转换为布尔值

转换结果为:True

print('转换结果为:', np.bool(0)) #整数转换为布尔值

 转换结果为:False

print('转换结果为:', np.float(True)) #布尔值转换为浮点数

  转换结果为:1.0

print('转换结果为:', np.float(False)) #布尔值转换为浮点数

 转换结果为:0.0

12. 创建数据类型

df = np.dtype([('name', np.str_, 40), ('numitems', np.int64),
         ('price', np.float64)])
print('数据类型为:\n', df)
数据类型为:
 [('name', '<U40'), ('numitems', '<i8'), ('price', '<f8')]

13.查看数据类型

print('数据类型为:', df['name'])      
数据类型为: <U40
print('数据类型为:', np.dtype(df['name']))
数据类型为: <U40

14.自定义数组类型

itemz = np.array([('tomatoes', 42, 4.14), ('cabbages', 13, 1.72)],
dtype=df)
print('自定义数据为:', itemz)
自定义数据为: [('tomatoes', 42, 4.14) ('cabbages', 13, 1.72)]
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值