numpy(1)

1. numpy是什么?

NumPy是numerical Python的简称,是一个Python科学计算的基础包。

2.numpy的功能?

 1.存储单一数据类型的多维数组
 2.能够对数组进行处理的函数

3.numpy数组的创建

 使用array函数进行创建
 def array (p_object,dtype=None,copy=True,order='k',subok=False,ndmin=0):

对于numpy数组创建的参数名称以及说明
4.numpy的属性
numpy的数组属性
程序:numpy的属性练习

import numpy as np  #定义numpy库
arr1 = np.array([1,2,3,4],[5,6,7,8],[9,10,11,12])  #创建二维数组
print (arr1)

shape:(3,4)3行4列
ndim: 2,二维数组
size: 12

import numpy as np 
arr1=np.array([1,2,3,4]) 
print('创建的数组为:',arr1) 
arr2=np.array([[1,2,3,4],[5,6,7,8]]) 
print('创建的数组为\n',arr2) 
print('数组形状为:',arr2.shape) 
print('数组维度为:',arr2.ndim) 
print('数组类型为:',arr2.dtype) 
print('数组元素个数为:',arr2.size) 
print('数组每个元素大小为:',arr2.itemsize) 

#######运行结果#########
创建的数组为: [1 2 3 4]
创建的数组为
 [[1 2 3 4]
 [5 6 7 8]]
数组形状为: (2, 4)
数组维度为: 2
数组类型为: int32
数组元素个数为: 8
数组每个元素大小为: 4

5.NumPy数组的创建
在这里插入图片描述

程序: numpy数组的创建练习

     问题:
       1.创建0~1步长为0.1的数组
       2.创建0~10总计12个元素的等差数组
       3.创建1~100总计20个元素的等比数组
       4.创建2行3列全部为0的数组
       5 .创建4行4列主对角线为1的数组
       6.创建4行4列主对角线为[1,2,3,4]的数组
       7.创建4行3列全部为1的数组
arr1 = np.arange(0,1,0.1)
print('创建0~1步长为0.1的数组:\n',arr1)
arr2 = np.linspace(0,10,12)
print('创建0~10总计12个元素的等差数组:\n',arr2)
arr3 = np.logspace(1,100,20)
print('创建1~100总计20个元素的等比数组:\n',arr3)
arr4 = np.zeros([2,3])
print('创建2行3列全部为0的数组:\n',arr4)
arr5 = np.eye(4)
print('创建4行4列主对角线为1的数组:\n',arr5)
arr6 = np.diag([1,2,3,4])
print('创建4行4列主对角线为[1,2,3,4]的数组:\n',arr6)
arr7 = np.ones((4,3))
print('创建4行3列全部为1的数组:\n',arr7)

#######运行结果#########
创建0~1步长为0.1的数组:
 [0.  0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
创建0~10总计12个元素的等差数组:
 [ 0.          0.90909091  1.81818182  2.72727273  3.63636364  4.54545455
  5.45454545  6.36363636  7.27272727  8.18181818  9.09090909 10.        ]
创建1~100总计20个元素的等比数组:
 [1.00000000e+001 1.62377674e+006 2.63665090e+011 4.28133240e+016
 6.95192796e+021 1.12883789e+027 1.83298071e+032 2.97635144e+037
 4.83293024e+042 7.84759970e+047 1.27427499e+053 2.06913808e+058
 3.35981829e+063 5.45559478e+068 8.85866790e+073 1.43844989e+079
 2.33572147e+084 3.79269019e+089 6.15848211e+094 1.00000000e+100]
创建23列全部为0的数组:
 [[0. 0. 0.]
 [0. 0. 0.]]
创建44列主对角线为1的数组:
 [[1. 0. 0. 0.]
 [0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [0. 0. 0. 1.]]
创建44列主对角线为[1234]的数组:
 [[1 0 0 0]
 [0 2 0 0]
 [0 0 3 0]
 [0 0 0 4]]
创建43列全部为1的数组:
 [[1. 1. 1.]
 [1. 1. 1.]
 [1. 1. 1.]
 [1. 1. 1.]]

6.生成随机数组–随机抽样
生成随机数组--随机抽样
程序:NumPy数组的创建练习

 问题:
       1.随机生成100个随机数字(0~1)
       2.生成6行5列的服从均匀分布的随机数
       3.生成4行5列服从正态分布的随机数
       4.生成最小值为2,最大值为10的2行5列的随机数

np.random.random(100)
print("随机生成100个随机数字(0~1)\n",np.random.random(100))
np.random.rand(6,5)
print("生成6行5列的服从均匀分布的随机数\n",np.random.rand(6,5))
np.random.randn(4,5)
print("生成4行5列服从正态分布的随机数",np.random.randn(4,5))
np.random.randint(2,10,[2,5])
print("生成最小值为2,最大值为10的2行5列的随机数",np.random.randint(2,10,[2,5]))

#######运行结果#########
随机生成100个随机数字(0~1)
 [0.31202614 0.60822574 0.33084605 0.00523363 0.92921985 0.66999967
 0.50679074 0.09453698 0.42740943 0.23758627 0.43708123 0.52812638
 0.97534981 0.15815729 0.88669483 0.69555155 0.97369938 0.38648999
 0.39257884 0.939915   0.81464559 0.38975846 0.45398826 0.8631506
 0.59656012 0.09543428 0.9948119  0.96316301 0.56859199 0.96835782
 0.74151775 0.89472976 0.15090612 0.26047746 0.32992448 0.39986822
 0.33496552 0.46925041 0.7584861  0.63999463 0.99606133 0.23059039
 0.42409182 0.94044723 0.34929361 0.34693353 0.0730833  0.51557014
 0.88184329 0.09747697 0.49810302 0.18071183 0.86127697 0.98610209
 0.96551375 0.77947641 0.65001057 0.87866434 0.46336675 0.13046548
 0.46783662 0.65354804 0.68111862 0.35533724 0.78190846 0.37217892
 0.6587883  0.01018568 0.3051828  0.90562915 0.04078761 0.43590876
 0.77991369 0.81364575 0.16527368 0.75549095 0.7093665  0.20073532
 0.97149207 0.31518044 0.23511636 0.13830623 0.93559524 0.83372166
 0.96751668 0.59385391 0.48092925 0.20318763 0.46509298 0.41128271
 0.40208178 0.01665685 0.34616585 0.14078962 0.02709712 0.29938454
 0.95173912 0.76312624 0.95393965 0.43333741]
生成65列的服从均匀分布的随机数
 [[0.52298217 0.36508205 0.762912   0.3845059  0.65196954]
 [0.08007003 0.3658876  0.63489957 0.32013618 0.18165406]
 [0.64929621 0.99553525 0.67974011 0.32826477 0.02264543]
 [0.05000118 0.830408   0.71788446 0.90811987 0.22474442]
 [0.60563653 0.56881242 0.58586661 0.33194162 0.84043265]
 [0.6514633  0.73438894 0.98037557 0.34228518 0.49836184]]
生成45列服从正态分布的随机数 [[ 0.08220476  1.6359104   0.27706585  1.14949349 -0.90674865]
 [ 0.42580204 -0.55828356  0.07260653 -0.9808374   1.41009098]
 [ 0.15909965  0.79559779  0.03095253 -0.16144874  0.20321005]
 [-0.07316747 -0.67141746 -2.01140161  0.15720788  0.27288631]]
生成最小值为2,最大值为1025列的随机数 [[9 7 3 3 2]
 [5 9 4 3 8]]

7.NumPy切片和索引

一维数组:
一维数组
多维数组:
多维数组:

8.改变数组形状
改变数组形状*
9.分割与组合
9.分割与组合
10.四则运算与比较运算

数组是针对每个元素进行相应的运算
四则运算与比较运算

©️2020 CSDN 皮肤主题: 深蓝海洋 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值