这篇文章主要知识点是关于Python3.5、NumPy模块、的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书
本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。
Copyright 2018-2020 www.xz577.com 码农之家
版权投诉 / 书籍推广 / 赞助:520161757@qq.com
对numpy的array和python中自带的list之间相互转化详解
a=([3.234,34,3.777,6.33]) a为python的list类型 将a转化为numpy的array: np.array(a)array([ 3.234, 34. , 3.777, 6.33 ]) 将a转化为python的list a.tolist() 以上这篇对numpy的array和python中自带的list之间相互转化详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。 ……
python实现list由于numpy array的转换
实例如下所示: u = array([[1,2],[3,4]])m = u.tolist()#转换为listm.remove(m[0])#移除m[0]m = np.array(m)#转换为arra 以上这篇python实现list由于numpy array的转换就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。 ……
Python中Numpy mat的使用详解
前面介绍过用dnarray来模拟,但mat更符合矩阵,这里的mat与Matlab中的很相似。(mat与matrix等同) 基本操作 m= np.mat([1,2,3]) #创建矩阵 mmatrix([[1, 2, 3]]) m[0] #取一行matrix([[1, 2, 3]]) m[0,1] #第一行,第2个数据2 m[0][1] #注意不能像数组那样取值了Traceback (most recent call last): File "stdin", line 1, in module File "/usr/lib64/python2.7/site-packages/numpy/matrixlib/defmatrix.py", line 305, in __getitem__ out = N.ndarray.__getitem__(self, index)IndexError: index 1 is out of bounds for axis 0 with size 1#将Python的列表转换成NumPy的矩阵 list=[1,2,3] mat(list)matrix([[1, 2, 3]])#Numpy dnarray转换成Numpy矩阵 n = np.array([1,2,3]) narray([1, 2, 3]) np.mat(n)matrix([[1, 2, 3]])#排序 m=np.mat([[2,5,1],[4,6,2]]) #创建2行3列矩阵 mmatrix([[2, 5, 1], [4, 6, 2]]) m.sort() #对每一行进行排序 mmatrix([[1, 2, 5], [2, 4, 6]]) m.shape #获得矩阵的行列数(2, 3) m.shape[0] #获得矩阵的行数2 m.shape[1] #获得……
python学习教程之Numpy和Pandas的使用
前言 本文主要给大家介绍了关于python中Numpy和Pandas使用的相关资料,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 它们是什么? NumPy是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。 Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。 List、Numpy与Pandas Numpy与List 相同之处: 都可以用下标访问元素,例如a[0] 都可以切片访问,例如a[1:3] 都可以使用for循环进行遍历 不同之处: Numpy之中每个元素类型必须相同;而List中可以混合多个类型元素 Numpy使用更方便,封装了许多函数,例如mean、std、sum、……