美文网首页我爱编程
2.科学计算工具Numpy

2.科学计算工具Numpy

作者: 零_WYF | 来源:发表于2018-01-22 21:52 被阅读57次

1.numpy简介

Numpy:提供了一个在Python中做科学计算的基础库,重在数值计算,主要用于多维数组(矩阵)处理的库。
用来存储和处理大型矩阵,比Python自身的嵌套列表结构要高效的多。
本身是由C语言开发,是个很基础的扩展,Python其余的科学计算扩展大部分都是以此为基础。
高性能科学计算和数据分析的基础包
ndarray,多维数组(矩阵),具有矢量运算能力,快速、节省空间

2.ndarray数组创建

NumPy数组是一个多维的数组对象(矩阵),称为ndarray,具有矢量算术运算能力,并具有执行速度快和节省空间的特点。
注意:ndarray的下标从0开始,且数组里的所有元素必须是相同类型

2.1ndarray属性

ndim属性:维度个数
shape属性:维度大小
dtype属性:数据类型

2.2ndarray的随机创建

通过随机抽样 (numpy.random) 生成随机数据。

np.random.rand()

随机样本位于[0, 1)中,rand固定区间0.0 ~ 1.0

arr1 = np.random.rand(3,4) # 3*4,0-1
print(arr1)
a = 3
print(arr1.ndim) # 维数
print(arr1.shape) # 维度大小
print(arr1.dtype) # 数据类型
######################运行结果#########################
[[ 0.8304427   0.28691753  0.49540239  0.81833986]
 [ 0.67167216  0.07743172  0.02851783  0.1204921 ]
 [ 0.21615523  0.88841313  0.06086932  0.0161961 ]]
2
(3, 4)
float64
#####################################################
np.random.randn()

随机样本是从标准正态分布中返回一个或多个样本值。

arr2 = np.random.randn(3,4,5)
print(arr2)
print(arr2.ndim)
print(arr2.shape)
###########################运行结果##############################
[[[-0.53048525 -0.98315123  1.07899734  1.00916922 -1.43343381]
  [ 0.16614765 -2.04573639  0.69389559 -1.03237277  0.55933928]
  [-1.83031415 -1.06860538  0.54219642 -1.07381001  0.04935296]
  [ 0.23682127 -0.31775132 -0.00994159 -0.20292605  1.30770046]]

 [[ 0.10626402  1.01778731 -1.53680091  0.76804688  0.27078436]
  [-0.43091204  1.47209429  0.80118083 -2.0614604  -0.5506007 ]
  [ 1.44773308 -2.14104747 -0.95519316 -0.83441982 -0.31901006]
  [ 0.10257071 -0.42335524 -0.01249585 -1.47530282 -1.1789874 ]]

 [[ 0.27786974 -0.93659983  0.44406388  0.01835018  1.11760644]
  [ 1.68107332 -1.88498173  0.69610999  1.4677356   2.95709668]
  [-2.16621502  1.09556328 -0.5359436   2.01755611 -1.00161595]
  [ 0.41419144 -0.74623465  0.13370128 -0.01935085 -1.03277491]]]
3
(3, 4, 5)
#################################################################
np.random.randint()方法使用

生成指定维度大小(3行4列)的随机多维整型数据(二维),randint指定区间-2 ~ 5

arr3 = np.random.randint(-2,6,(3,4))
print(arr3)
print(arr3.dtype)
#######################运行结果##########################
[[ 0  1  5  3]
 [ 4  0  1  4]
 [ 0 -2  5  1]]
int32
#########################################################
np.random. uniform()方法使用

生成指定维度大小(4行5列)的随机多维浮点型数据(二维),uniform()可以指定区间(-3, 2)

# 随机创建浮点类型的ndarray
arr4 = np.random.uniform(-3,3,size=(4,5))
print(arr4)
print(arr4.dtype)
##########################运行结果#############################
[[ 0.39471789  1.80044462 -1.2432487   2.72737276  0.63235806]
 [-1.15296166 -2.43829749 -1.6658063  -0.144205    0.04610753]
 [ 0.32108255 -2.77588426 -1.50920274  0.24233935  2.67571127]
 [ 1.06973439 -0.4995566   2.79207931 -1.14324029 -2.48195469]]
float64
###############################################################

2.3 ndarray的序列创建

np.zeros()

指定大小的全0数组。注意:第一个参数是元组,用来指定大小,如(3, 4)。

print(np.zeros((3,4)))
print(np.zeros((3,4)).dtype)
print(type(np.zeros((3,4))))
##########################运行结果#############################
[[ 0.  0.  0.  0.]
 [ 0.  0.  0.  0.]
 [ 0.  0.  0.  0.]]
float64
<class 'numpy.ndarray'>
###############################################################
np.ones()

指定大小的全1数组。注意:第一个参数是元组,用来指定大小,如(3, 5)。

print(np.ones((3,5)))
##########################运行结果#############################
[[ 1.  1.  1.  1.  1.]
 [ 1.  1.  1.  1.  1.]
 [ 1.  1.  1.  1.  1.]]
###############################################################
np.empty()

初始化数组,不是总是返回全0,有时返回的是未初始的随机值(内存里的随机值)。

print(np.empty((4,5)))
##########################运行结果#############################
[[ 0.39471789  1.80044462  1.2432487   2.72737276  0.63235806]
 [ 1.15296166  2.43829749  1.6658063   0.144205    0.04610753]
 [ 0.32108255  2.77588426  1.50920274  0.24233935  2.67571127]
 [ 1.06973439  0.4995566   2.79207931  1.14324029  2.48195469]]
###############################################################
ndarray的序列创建
arr8 = np.arange(15) # 创建一个一维数组
print(arr8)
##########################运行结果#############################
[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14]
###############################################################
arr9 = arr8.reshape(3,5) # 创建3行5列数组
print(arr9)
##########################运行结果#############################
[[ 0  1  2  3  4]
 [ 5  6  7  8  9]
 [10 11 12 13 14]]
###############################################################

2.4 dtype参数

arr12 = np.zeros((3,5),dtype=np.int64)
print(arr12)
print(arr12.dtype)
##########################运行结果#############################
[[0 0 0 0 0]
 [0 0 0 0 0]
 [0 0 0 0 0]]
int64
###############################################################

2.5 数组数据类型的转换astype()

arr13 = arr12.astype(np.float32)
print(arr13)
print(arr13.dtype)
##########################运行结果#############################
[[ 0.  0.  0.  0.  0.]
 [ 0.  0.  0.  0.  0.]
 [ 0.  0.  0.  0.  0.]]
float32
###############################################################

相关文章

  • 2.科学计算工具Numpy

    1.numpy简介 Numpy:提供了一个在Python中做科学计算的基础库,重在数值计算,主要用于多维数组(矩阵...

  • Numpy的一些小知识 - 01

    Numpy是科学计算当中最常用的python工具库之一,是很多工具库的基础,掌握Numpy的一些基本概念对科学计算...

  • 阅读材料PYTHON

    Python简介 Numpy工具集合 简介 numpy工具集是在Python环境下用于科学计算的工具集合 利用ar...

  • Numpy

    NumPy是Numeric Python的简称 NumPy是Python科学计算的基础工具包 NumPy是Pyth...

  • 科学计算工具-numpy

    简介 Numpy:提供了一个在Python中做科学计算的基础库,重在数值计算,主要用于多维数组(矩阵)处理的库。用...

  • 科学计算工具Numpy

    文章来源:Python数据分析 目录: DIKW模型与数据工程科学计算工具Numpy数据分析工具PandasPan...

  • 科学计算工具:Numpy

    记录网课老师的笔记 1. Numpy基础数据结构 NumPy数组是一个多维数组对象,称为ndarray。其由两部分...

  • [Mac] Python Numpy Scipy Matplot

    一、Numpy和 Scipy Numpy 官网Mac安装指导Scipy 是基于Numpy开发的科学计算工具,所以只...

  • NumPy入门

    Numpy是Python科学计算中最常用的工具,包括SciPy以及Pandas等工具也有对NumPy的依赖,因此P...

  • Numpy

    1. Numpy介绍 Numpy是python开源的科学计算工具包,具有高级的数值编程工具。它是许多高级工具的开发...

网友评论

    本文标题:2.科学计算工具Numpy

    本文链接:https://www.haomeiwen.com/subject/lvvraxtx.html