python语法简洁吗,python 优雅 明确 简单

  python语法简洁吗,python 优雅 明确 简单

  【Python】简单而不简单 Numpy小抄表(包括主要语法和代码)值得收藏_qq62985c01d4e12 _博客的技术博客

  Numpy是用python实现的科学计算的扩展库,包括:

  1.强大的n维数组对象数组;2.成熟(广播)函数库;3.集成C/C和Fortran代码的工具包;4.实用线性代数,傅立叶变换和随机数生成函数。numpy和稀疏矩阵运算包scipy一起使用更方便。NumPy(Numeric Python)提供了很多先进的数值编程工具,比如矩阵数据类型、向量处理、复杂的运算库等。它是专门为严格的数字处理而生产的。它被许多大型金融公司,以及劳伦斯利弗莫尔(Lawrence Livermore)等核心科学计算组织使用,NASA用它来处理一些原本用C、Fortran或Matlab完成的任务。

  整理了一个Numpy的小抄表,总结了Numpy的常用操作,可以收藏起来慢慢看。

  您可以通过Pip或Anaconda安装Numpy:

  $ pip安装费或

  $ conda安装numpy文章目录

  基本占位符数组加减元素,合并数组,拆分数组,改变数组形状,复制/排序数组操作,其他数学计算,数学计算,基本统计的比较,更多切片和子集提示,基本NumPy最常用的函数之一是NumPy数组:列表和NumPy数组的主要区别在于功能和速度。

  提供了list的基本操作,但是NumPy增加了FTTs、卷积、快速搜索、基本统计、线性代数、直方图等。

  这两种数据科学最重要的区别是NumPy数组可以用于元素级的计算。

  轴0通常指行。

  轴1通常指列。

  操作

  形容

  文件

  np.array([1,2,3])

  一维数组

  https://numpy . org/doc/stable/reference/generated/numpy . array . html # numpy . array

  np.array([(1,2,3),(4,5,6)])

  二维数组

  https://numpy . org/doc/stable/reference/generated/numpy . array . html # numpy . array

  np.arange(开始、停止、步进)

  算术数组

  https://docs . scipy . org/doc/numpy/reference/generated/numpy . arange . html

  占位符操作

  形容

  文件

  np.linspace(0,2,9)

  向数组中添加一个算术值。

  https://docs . scipy . org/doc/numpy/reference/generated/numpy . linspace . html

  np.zeros((1,2))

  创建一个全为0的数组。

  docs . scipy . org/doc/numpy/reference/generated/numpy . zeros . html

  np.ones((1,2))

  创建一个全1的数组。

  https://docs . scipy . org/doc/numpy/reference/generated/numpy . ones . html # numpy . ones

  随机的

  创建一个随机数数组。

  https://docs . scipy . org/doc/numpy/reference/generated/numpy . random . random . html

  np.empty((2,2))

  创建一个空数组

  https://numpy . org/doc/stable/reference/generated/numpy . empty . html

  示例:将numpy作为np导入

  # 1维度

  x=np.array([1,2,3])

  # 2维

  y=np.array([(1,2,3),(4,5,6)])

  x=np.arange(3)

  数组([0,1,2])

  y=np.arange(3.0)

  数组([ 0。 1. 2.])

  x=np.arange(3,7)

  数组([3,4,5,6])

  y=np.arange(3,7,2)

  数组([3,5])

  属性数组属性语法

  形容

  文件

  数组.形状

  维度(行、列)

  https://docs . scipy . org/doc/numpy/reference/generated/numpy . ndarray . shape . html

  透镜(阵列)

  数组长度

  https://docs.python.org/3.5/library/functions.html#len

  array.ndim

  数组的维数

  https://docs . scipy . org/doc/numpy/reference/generated/numpy . ndarray . ndim . html

  数组.大小

  数组中元素的数量

  https://docs . scipy . org/doc/numpy/reference/generated/numpy . ndarray . size . html

  数组. dtype

  数据类型

  https://docs.scipy.org/doc/numpy/reference/arrays.dtypes.html

  array.astype(类型)

  转换数组类型

  https://docs . scipy . org/doc/numpy/reference/generated/numpy . ndarray . astype . html

  类型(数组)

  显示阵列类型

  https://numpy.org/doc/stable/user/basics.types.html

  复制/排序操作

  形容

  文件

  np.copy(数组)

  创建数组副本

  https://份文件。scipy。组织/单据/金额/参照/生成/金额。收到。超文本标记语言

  other=array.copy()

  创建数组深拷贝

  https://份文件。scipy。组织/单据/金额/参照/生成/金额。收到。超文本标记语言

  数组。排序()

  排序一个数组

  https://份文件。scipy。组织/单据/金额/参照/生成/金额。排序。超文本标记语言

  数组.排序(轴=0)

  按照指定轴排序一个数组

  https://份文件。scipy。组织/单据/金额/参照/生成/金额。排序。超文本标记语言

  举例将数组作为铭牌导入

  #排序按升序排序

  y=np.array([10,9,8,7,6,5,4,3,2,1])

  y.sort()

  打印(y)

  [ 1 2 3 4 5 6 7 8 9 10]数组操作例程增加或减少元素操作

  描述

  文档

  附加(甲、乙)

  增加数据项到数组

  https://份文件。scipy。组织/单据/金额/参照/生成/金额。追加。超文本标记语言

  插入(数组,1,2,轴)

  沿着数组0轴或者一轴插入数据项

  https://份文件。scipy。组织/单据/金额/参照/生成/金额。插入。超文本标记语言

  np.resize((2,4))

  将数组调整为形状(2,4)

  https://份文件。scipy。组织/单据/金额/参照/生成/金额。调整大小。超文本标记语言

  删除(数组,1,轴)

  从数组里删除数据项

  数字https://。组织/单据/稳定/参照/生成/数量。删除。超文本标记语言

  举例将数组作为铭牌导入

  #将项目追加到数组

  a=np.array([(1,2,3),(4,5,6)])

  b=np.append(a,[(7,8,9)])

  打印(二)

  [1 2 3 4 5 6 7 8 9]

  #从前一个数组中删除索引2

  print(np.delete(b,2))

  [1 2 4 5 6 7 8 9]组合数组操作

  描述

  文档

  np.concatenate((a,b),axis=0)

  连接2个数组,添加到末尾

  https://份文件。scipy。组织/单据/金额/参照/生成/金额。串联。超文本标记语言

  np.vstack((a,b))

  按照行堆叠数组

  数字https://。组织/单据/稳定/参照/生成/数量。v栈。超文本标记语言

  np.hstack((a,b))

  按照列堆叠数组

  文件。scipy。组织/单据/金额/参照/生成/金额。h栈。html # numpy。h堆栈

  举例将数组作为铭牌导入

  a=np.array([1,3,5])

  b=np.array([2,4,6])

  #按行堆叠两个数组

  print(np.vstack((a,b)))

  [[1 3 5]

  [2 4 6]]

  #按列堆叠两个数组

  print(np.hstack((a,b)))

  [1 3 5 2 4 6]分割数组操作

  描述

  文档

  numpy.split()

  分割数组

  https://份文件。scipy。组织/单据/金额/参照/生成/金额。分裂。超文本标记语言

  np.array_split(array,3)

  将数组拆分为大小(几乎)相同的子数组

  https://份文件。scipy。组织/单据/金额/参照/生成/金额。数组_拆分。html # numpy。数组_拆分

  numpy。hs拆分(数组,3)

  在第3个索引处水平拆分数组

  数字https://。组织/单据/稳定/参照/生成/数量。他分裂了。html # numpy。hs拆分

  举例#将数组分成约3组

  a=np.array([1,2,3,4,5,6,7,8])

  print(np.array_split(a,3))

  [数组([1,2,3]),数组([4,5,6]),数组([7,8])]数组形状变化操作操作

  描述

  文档

  other=ndarray.flatten()

  平铺一个二维数组到一维数组

  数字https://。组织/单据/稳定/参照/生成/数量。恩达拉雷。展平。超文本标记语言

  numpy.flip()

  翻转一维数组中元素的顺序

  https://份文件。scipy。组织/单据/稳定/参照/生成/数量。翻转。超文本标记语言

  np.ndarray[:-1]

  翻转一维数组中元素的顺序

  使再成形

  改变数组的维数

  https://份文件。scipy。组织/单据/稳定/参照/生成/数量。形状。超文本标记语言

  挤压

  从数组的形状中删除单维度条目

  数字https://。组织/单据/稳定/参照/生成/数量。挤压。超文本标记语言

  扩展_变暗

  扩展数组维度

  https://份文件。scipy。org/doc/numpy-1。13 .0/引用/生成/numpy。expand _ dims。超文本标记语言

  其他操作

  描述

  文档

  other=ndarray.flatten()

  平铺2维数组到一维数组

  数字https://。组织/单据/稳定/参照/生成/数量。恩达拉雷。展平。超文本标记语言

  array=np.transpose(其他)数组1000吨。

  数组转置

  数字https://。组织/单据/稳定/参照/生成/数量。转置。超文本标记语言

  inverse=np.linalg.inv(矩阵)

  求矩阵的逆矩阵

  https://份文件。scipy。组织/单据/金额/参照/生成/金额。Lina LG。发票。超文本标记语言

  举例#寻找给定矩阵的逆矩阵

  np.linalg.inv([[3,1],[2,4]])

  数组([[ 0.4,-0.1),

  [-0.2, 0.3]])数学计算操作操作

  描述

  文档

  加法(x,y) x y

  加

  https://份文件。scipy。组织/单据/金额/参照/生成/金额。补充。超文本标记语言

  减去(x,y) x - y

  减

  https://份文件。scipy。组织/单据/金额/参照/生成/金额。减去。html # numpy。减去

  除以(x,y) x/y

  除

  https://份文件。scipy。组织/单据/金额/参照/生成/金额。划分。html # numpy。划分

  乘(x,y) x @ y

  乘

  https://份文件。scipy。组织/单据/金额/参照/生成/金额。倍增。html # numpy。多样地

  np.sqrt(x)

  平方根

  https://份文件。scipy。组织/单据/金额/参照/生成/金额。sqrt。html # numpy。平方根计算

  辛(十)

  元素正弦

  https://份文件。scipy。组织/单据/金额/参照/生成/金额。罪恶。html # numpy。犯罪

  np.cos(x)

  元素余弦

  https://份文件。scipy。组织/单据/金额/参照/生成/金额。因为。html # numpy。余弦

  np.log(x)

  元素自然对数

  https://份文件。scipy。组织/单据/金额/参照/生成/金额。日志。html # numpy。原木

  np.dot(x,y)

  点积

  https://份文件。scipy。组织/单据/金额/参照/生成/金额。点。超文本标记语言

  NP。根([1,0,-4])

  给定多项式系数的根

  https://份文件。scipy。组织/单据/金额/参照/生成/金额。根。超文本标记语言

  举例

  #如果将一维数组添加到二维数组(或相反),NumPy

  #选择维数较小的数组,并将其添加到一

  #尺寸更大

  a=np.array([1,2,3])

  b=np.array([(1,2,3),(4,5,6)])

  print(np.add(a,b))

  [[2 4 6]

  [5 7 9]]

  # NP。根示例

  #考虑一个多项式函数(x-1)^2=x^2-2 * 1

  #谁的根是1,1

  NP。根([1,-2,1])

  数组([1。 1.])

  #类似地,当x=2时,x^2 - 4=0有根

  NP。根([1,0,-4])

  数组([-2。 2.])比较操作

  描述

  文档

  ==

  等于

  https://docs.python.org/2/library/stdtypes.html

  !=

  不等于

  https://docs.python.org/2/library/stdtypes.html

  小于

  https://docs.python.org/2/library/stdtypes.html

  大于

  https://docs.python.org/2/library/stdtypes.html

  =

  小于等于

  https://docs.python.org/2/library/stdtypes.html

  =

  大于等于

  https://docs.python.org/2/library/stdtypes.html

  np.array_equal(x,y)

  数组比较

  数字https://。组织/单据/稳定/参照/生成/数量。数组_等于。超文本标记语言

  举例:#使用比较运算符将创建布尔数字数组

  z=np.array([1,2,3,4,5,6,7,8,9,10])

  c=z 6

  打印(三)

  [真实真实真实真实虚假虚假虚假虚假虚假]基本的统计操作

  描述

  文档

  平均值(数组)

  平均

  数字https://。组织/单据/稳定/参照/生成/数量。卑鄙。html # numpy。意思是

  中值(数组)

  中位数

  数字https://。组织/单据/稳定/参照/生成/数量。中位数。html # numpy。中位数

  array.corrcoef()

  相关系数

  数字https://。组织/单据/稳定/参照/生成/数量。科尔科夫。html # numpy。相关系数

  np。标准(数组)

  标准偏差

  https://份文件。scipy。组织/单据/金额/参照/生成/金额。STD。html # numpy。神学博士。

  举例#数组的统计数据

  a=np.array([1,1,2,5,8,10,11,12])

  #标准偏差

  打印(np.std(a))

  4.2938910093294167

  #中值

  打印(np.median(a))

  6.5更多操作

  描述

  文档

  array.sum()

  数组求和

  数字https://。组织/单据/稳定/参照/生成/数量。总和。超文本标记语言

  array.min()

  数组求最小值

  数字https://。组织/单据/稳定/参照/生成/数量。恩达拉雷。量滴超文本标记语言

  array.max(轴=0)

  数组求最大值(沿着0轴)

  array.cumsum(轴=0)

  指定轴求累计和

  数字https://。组织/单据/稳定/参照/生成/数量。累计。超文本标记语言

  切片和子集操作

  描述

  文档

  数组[我]

  索引我处的一维数组

  https://numpy.org/doc/stable/reference/arrays.indexing.html

  数组[我,j]

  索引在[i][j]处的二维数组

  https://numpy.org/doc/stable/reference/arrays.indexing.html

  数组[i 4]

  布尔索引

  https://numpy.org/doc/stable/reference/arrays.indexing.html

  数组[0:3]

  选择索引为0, 1和2

  https://numpy.org/doc/stable/reference/arrays.indexing.html

  数组[0:2,1]

  选择第0,1行,第一列

  https://numpy.org/doc/stable/reference/arrays.indexing.html

  数组[:1]

  选择第0行数据项(与[0:1,]相同)

  https://numpy.org/doc/stable/reference/arrays.indexing.html

  数组[1:2,]

  选择第一行

  https://numpy.org/doc/stable/reference/arrays.indexing.html

  [评论]:

  数组[1,]

  等同于数组[1,]

  数组[ :-1]

  反转数组

  同上

  举例b=np.array([(1,2,3),(4,5,6)])

  #逗号前的索引*是指*行*,

  #逗号*后的索引*指*列*

  print(b[0:1,2])

  [3]

  print(b[:len(b),2])

  [3 6]

  打印(b[0,])

  [1 2 3]

  打印(b[0,2:])

  [3]

  打印(b[:0])

  [1 4]

  c=np.array([(1,2,3),(4,5,6)])

  d=c[1:2,0:2]

  打印(四)

  [[4 5]]切片举例将数组作为铭牌导入

  a1=np.arange(0,6)

  a2=np.arange(10,16)

  a3=np.arange(20,26)

  a4=np.arange(30,36)

  a5=np.arange(40,46)

  a6=np.arange(50,56)

  a=np.vstack((a1,a2,a3,a4,a5,a6))生成矩阵和切片图示

  小技巧

  例子将会越来越多的,欢迎大家提交。

  布尔索引

  #使用两个铭牌阵列时的索引技巧

  a=np.array([1,2,3,6,1,4,1])

  b=np.array([5,6,7,8,3,1,2])

  #仅在b==1的索引处保存a

  其他_a=a[b==1]

  #保存a中除索引处以外的所有点,其中b!=1

  other_other_a=a[b!=1]将数组作为铭牌导入

  x=np.array([4,6,8,1,2,6,9])

  y=x 5

  打印(x[y])

  [6 8 6 9]

  #甚至更短

  x=np.array([1,2,3,4,4,35,212,5,5,6])

  打印(x[x 5])

  [1 2 3 4 4]【参考】https://github.com/juliangaal/python-cheat-sheet QQ群851320808

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: