python求数组最小值和最大值_numpy找出array中的最大最小值的方法

numpy找出array中的最大值,最小值实例

在python中利用numpy创建一个array, 然后我们想获取array的最大值,最小值。可以使用一下方法:

一、创建数组

这样就可以获得一个array的最大值和最小值了。

并且可以利用np.where(np.max(a))来获得最大值,最小值的行和列数。

二、python下对文件的操作

1、移动一个文件夹到另一个文件夹下

首先

import os, skutil

复制文件:

shutil.copyfile('oldfile', 'newfile')

oldfile和newfile都只能是文件

shutil.copy('oldfile', 'newfile')

oldfile只能是文件夹,newfile可以是文件,也可以是目标目录

复制文件夹:

shutil.copytree('olddir', 'newdir')

olddir和newdir都只能是目录,且newdir必须不存在

移动文件:

shutil.move('oldpos', 'newpos')

重命名文件:

os.rename('oldname', 'newname') 文件和目录都使用这条命令

删除文件:

os.remove('file')

os.rmdir('dir')

只能删除空目录

判断目标:

os.path.exists('goal')

判断目标是否存在

os.path.isdir('goal')

判断目标是否是目录

os.path.isfile('goal')

判断目标是否是文件

转换目录:

os.chdir('path')

判断路径是否存在:

isExists = os.path.exists(path)

存在 True

不存在 False

创建目录:

os.mkdir('file')

创建多层目录:

def mkdirs(path):

# 去除首位空格

path = path.strip()

# 去除尾部 \ 符号

path = path.rstrip('\\')

以上这篇numpy找出array中的最大值,最小值实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。

Python中Numpy ndarray的使用详解

本文主讲Python中Numpy数组的类型、全0全1数组的生成、随机数组、数组操作、矩阵的简单运算、矩阵的数学运算。

尽管可以用python中list嵌套来模拟矩阵,但使用Numpy库更方便。

定义数组

>>> import numpy as np

>>> m = np.array([[1,2,3], [2,3,4]]) #定义矩阵,int64

>>> m

array([[1, 2, 3],

[2, 3, 4]])

>>> m = np.array([[1,2,3], [2,3,4]], dtype=np.float) #定义矩阵,float64

>>> m

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

[2., 3., 4.]])

>>> print(m.dtype) #数据类型

float64

>>> print(m.shape) #形状2行3列

(2, 3)

>>> print(m.ndim) #维数

2

>>> print(m.size) #元素个数

6

>>> print(type(m))

还有一些特殊的方法可以定义矩阵

>>> m = np.zeros((2,2)) #全0

>>> m

array([[0., 0.],

[0., 0.]])

>>> print(type(m)) #也是ndarray类型

>>> m = np.ones((2,2,3)) #全1

>>> m = np.full((3,4), 7) #全为7

>>> np.eye(3) #单位矩阵

array([[1., 0., 0.],

[0., 1., 0.],

[0., 0., 1.]])

>>> np.arange(20).reshape(4,5) #生成一个4行5列的数组

>>>

>>> np.random.random((2,3)) #[0,1)随机数

array([[0.51123127, 0.40852721, 0.26159126],

[0.42450279, 0.34763668, 0.06167501]])

>>> np.random.randint(1,10,(2,3)) #[1,10)随机整数的2行3列数组

array([[5, 4, 9],

[2, 5, 7]])

>>> np.random.randn(2,3) #正态随机分布

array([[-0.29538656, -0.50370707, -2.05627716],

[-1.50126655, 0.41884067, 0.67306605]])

>>> np.random.choice([10,20,30], (2,3)) #随机选择

array([[10, 20, 10],

[30, 10, 20]])

>>> np.random.beta(1,10,(2,3)) #贝塔分布

array([[0.01588963, 0.12635485, 0.22279098],

[0.08950147, 0.02244569, 0.00953366]])

操作数组

>>> from numpy import *

>>> a1=array([1,1,1]) #定义一个数组

>>> a2=array([2,2,2])

>>> a1+a2 #对于元素相加

array([3, 3, 3])

>>> a1*2 #乘一个数

array([2, 2, 2])

##

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

>>> a1

array([1, 2, 3])

>>> a1**3 #表示对数组中的每个数做立方

array([ 1, 8, 27])

##取值,注意的是它是以0为开始坐标,不matlab不同

>>> a1[1]

2

##定义多维数组

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

>>> a3

array([[1, 2, 3],

[4, 5, 6]])

>>> a3[0] #取出第一行的数据

array([1, 2, 3])

>>> a3[0,0] #第一行第一个数据

1

>>> a3[0][0] #也可用这种方式

1

>>> a3

array([[1, 2, 3],

[4, 5, 6]])

>>> a3.sum(axis=0) #按行相加,列不变

array([5, 7, 9])

>>> a3.sum(axis=1) #按列相加,行不变

array([ 6, 15])

矩阵的数学运算

关于方阵

>>> m = np.array([[1,2,3], [2,2,3], [2,3,4]]) #定义一个方阵

>>> m

array([[1, 2, 3],

[2, 2, 3],

[2, 3, 4]])

>>> print(np.linalg.det(m)) #求行列式

1.0

>>> print(np.linalg.inv(m)) #求逆

[[-1. 1. 0.]

[-2. -2. 3.]

[ 2. 1. -2.]]

>>> print(np.linalg.eig(m)) #特征值 特征向量

(array([ 7.66898014+0.j , -0.33449007+0.13605817j,

-0.33449007-0.13605817j]), array([[-0.47474371+0.j , -0.35654645+0.23768904j,

-0.35654645-0.23768904j],

[-0.53664812+0.j , 0.80607696+0.j ,

0.80607696-0.j ],

[-0.6975867 +0.j , -0.38956192-0.12190158j,

-0.38956192+0.12190158j]]))

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

>>> print(np.linalg.solve(m, y)) #解方程组

[ 1. 3. -2.]

矩阵乘法

矩阵乘:按照线性代数的乘法

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

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

>>> a

array([[1, 2, 3],

[2, 3, 4]])

>>> b

array([[1, 2],

[3, 4],

[5, 6]])

>>> np.dot(a, b) #方法一

array([[22, 28],

[31, 40]])

>>> np.matmul(a,b) #方法二

array([[22, 28],

注:一维数组之间运算时,dot()表示的是内积。

点乘:对应位置相乘

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

>>> b = np.array([[1,1],[2,2]])

>>> a

array([[1, 2],

[3, 4]])

>>> b

array([[1, 1],

[2, 2]])

>>> a * b #方法一

array([[1, 2],

[6, 8]])

>>> np.multiply(a, b) #方法二

array([[1, 2],

[6, 8]])

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。

以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

您可能感兴趣的文章:

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值