本文实例讲述了Python3.5基础之NumPy模块的使用。分享给大家供大家参考,具体如下:
1、简介




2、多维数组——ndarray














- #!/usr/bin/env python
- # -*- coding:utf-8 -*-
- # Author:ZhengzhengLiu
-
- import numpy as np
-
- #1.创建ndarray
- #创建一维数组
- n1 = np.array([1,2,3,4])
- print(n1)
-
- #属性--ndim:维度;dtype:元素类型;shape:数组形状;
- # size:数组元素总个数,shape值相乘得到
- print("n1维度:",n1.ndim)
- print("n1元素类型:",n1.dtype)
- print("n1数组形状:",n1.shape)
- print("n1数组元素总个数:",n1.size)
-
- #创建二维数组
- n2 = np.array([
- [1,2,3,4],
- [5,6,7,8]
- ])
-
- print(n2)
- print("n2维度:",n2.ndim)
- print("n2元素类型:",n2.dtype)
-
- #创建三维数组
- n3 = np.array([
- [
- [1,2,3,4],
- [5,6,7,8]
- ],
- [
- [10,20,30,40],
- [50,60,70,80]
- ]
- ])
-
- print(n3)
- print("n3数组形状:",n3.shape)
- print("n3数组元素总个数:",n3.size)
-
- #2.通过函数创建数组
- z = np.zeros((3,2)) #创建指定形状的数组,数值由零填充
- print(z)
- print(z.dtype)
-
- o = np.ones((2,4)) #创建指定形状的数组,数值由1填充
- print(o)
-
- e = np.empty((2,3,2)) #创建指定形状的数组,数值由未初始化的垃圾值填充
- print(e)
-
- #3.通过函数计算的方式去创建数组
- #一个参数,区间左闭右开,默认起始值为0,步长为1
- np1 = np.arange(10)
- print(np1)
-
- #两个参数(起始值,终止值),区间左闭右开,默认步长为1
- np2 = np.arange(2,10)
- print(np2)
-
- #三个参数(起始值,终止值,步长),区间左闭右开,步长为2
- np3 = np.arange(2,10,2)
- print(np3)
-
- #倒序创建数组元素
- np4 = np.arange(10,2,-1)
- print(np4)
-
- #全闭区间,参数(起始值,终止值,元素个数),等差数列
- np5 = np.linspace(0,10,5)
- print(np5)
-
- #全闭区间,以10为底数参数为指数(起始值,终止值,元素个数),等比数列
- np6 = np.logspace(0,2,5)
- print(np6)
-
- #生成随机数的数组
- np7 = np.random.random((2,3))
- print(np7)
运行结果:
[1 2 3 4]
n1维度: 1
n1元素类型: int32
n1数组形状: (4,)
n1数组元素总个数: 4
[[1 2 3 4]
[5 6 7 8]]
n2维度: 2
n2元素类型: int32
[[[ 1 2 3 4]
[ 5 6 7 8]]
[[10 20 30 40]
[50 60 70 80]]]
n3数组形状: (2, 2, 4)
n3数组元素总个数: 16
[[ 0. 0.]
[ 0. 0.]
[ 0. 0.]]
float64
[[ 1. 1. 1. 1.]
[ 1. 1. 1. 1.]]
[[[ 1.02548961e-305 5.40165714e-067]
[ 1.05952696e-153 9.69380992e+141]
[ 2.17151199e+214 4.34975848e-114]]
[[ 2.08064175e-115 1.91431714e+227]
[ 6.42897811e-109 1.26088822e+232]
[ 9.51634286e-114 5.45764552e-306]]]
[0 1 2 3 4 5 6 7 8 9]
[2 3 4 5 6 7 8 9]
[2 4 6 8]
[10 9 8 7 6 5 4 3]
[ 0. 2.5 5. 7.5 10. ]
[ 1. 3.16227766 10. 31.6227766 100. ]
[[ 0.55980469 0.99477652 0.82310732]
[ 0.97239333 0.1409895 0.57213264]]


- #修改ndarray形状
- np8 = np.arange(0,20,2)
- print(np8)
- print(np8.size)
-
- np9 = np8.reshape(2,5)
- print(np9)
- print(np9.size)
-
- #reshape函数是对被修改数组的一个拷贝,共享同一内存,
- # 修改其中一个数组会影响里一个
- np9[1][2] = 50
- print(np8)
- print(np9)
-
- # -1表示第二维自动根据元素个数计算
- np10 = np8.reshape(5,-1)
- print(np10)
-
- #shape直接修改原来数组的形状
- np8.shape=(2,-1)
- print(np8)
运行结果:
[ 0 2 4 6 8 10 12 14 16 18]
10
[[ 0 2 4 6 8]
[10 12 14 16 18]]
10
[ 0 2 4 6 8 10 12 50 16 18]
[[ 0 2 4 6 8]
[10 12 50 16 18]]
[[ 0 2]
[ 4 6]
[ 8 10]
[12 50]
[16 18]]
[[ 0 2 4 6 8]
[10 12 50 16 18]]
Numpy基本操作说明
















更多关于Python相关内容感兴趣的读者可查看jb51专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。